PowerShell把IP地址轉(zhuǎn)換成二進(jìn)制的方法
IPv4地址其實(shí)是32位二進(jìn)制數(shù)字,然后我們將它分成四段,每段8位。8位二進(jìn)制能表達(dá)的范圍是0~255,所以點(diǎn)分十進(jìn)制的每一個(gè)數(shù)字的取值都在0~255之間。有的時(shí)候,比如為了換算子網(wǎng)掩碼,我們需要將IP地址還原成二進(jìn)制串的形式,如:11000000101010000000110000100001。今天小編看到一個(gè)例子就是來完成這個(gè)操作的。
代碼如下:
$ipV4 = '192.168.12.33'
-join ($ipV4.Split('.') | ForEach-Object {[System.Convert]::ToString($_,2).PadLeft(8,'0')})
#-join是把多個(gè)結(jié)果對象或數(shù)組元素組合在一起輸出。
結(jié)果將顯示為:
我們也可以修改一下程序,分別顯示出每一段的轉(zhuǎn)換后的形式:
'{0,5} : {1}' -f $_, [System.Convert]::ToString($_,2).PadLeft(8,'0')
}
結(jié)果將顯示如下:
168 : 10101000
12 : 00001100
33 : 00100001
最后補(bǔ)充說明一下這一句“[System.Convert]::ToString($_,2)”的理解。首先$_表示當(dāng)前循環(huán)變量,把一個(gè)點(diǎn)分十進(jìn)制的IP使用Split方法打散后,每個(gè)循環(huán)變量就是各個(gè)數(shù)字了,即192、168、12、33。而“[System.Convert]::ToString($_,2)”的意思是把這些數(shù)字轉(zhuǎn)換為二進(jìn)制的字符串。關(guān)于[System.Convert]::ToString的詳細(xì)理解,可以參數(shù)下面幾個(gè)例子:
PS C:\Users\小編> [System.Convert]::ToString(16,2);
10000
#八進(jìn)制
PS C:\Users\小編> [System.Convert]::ToString(16,8);
20
#十進(jìn)制
PS C:\Users\小編> [System.Convert]::ToString(16,10);
16
#十六進(jìn)制
PS C:\Users\小編> [System.Convert]::ToString(16,16);
10
相關(guān)文章
PowerShell管理Win Server 2008 R2
在Windows Serve 2008 R2中,一個(gè)重要改進(jìn)就是PowerShell版本升級為2.0。Win 2008 R2包括一系列新的服務(wù)器管理界面,這些均建立在PowerShell 2.0之上。它新增了240個(gè)cmdlets命令集,新的PowerShell圖形用戶界面也增添了開發(fā)功能,從而用戶能更簡單創(chuàng)建自己的命令行。2015-09-09
Windows Powershell Switch 循環(huán)
這篇文章主要介紹了Windows Powershell Switch 循環(huán)以及PowerShell中數(shù)組可以與switch語句結(jié)合,產(chǎn)生意想不到的效果。2014-10-10
原創(chuàng)powershell腳本小工具ctracert.ps1跟蹤路由(win8以上系統(tǒng))
這篇文章主要介紹了原創(chuàng)powershell腳本小工具ctracert.ps1跟蹤路由(win8以上系統(tǒng)),需要的朋友可以參考下2017-10-10
PowerShell使用枚舉變量定義帶智能提示功能的函數(shù)參數(shù)
這篇文章主要介紹了PowerShell使用枚舉變量定義帶智能提示功能的函數(shù)參數(shù),但定義后只在ISE當(dāng)中有效,需要的朋友可以參考下2014-07-07
PowerShell: Try...Catch...Finally 實(shí)現(xiàn)方法
PowerShell 本身有很多很好的錯(cuò)誤控制,但是習(xí)慣于.net編程的人員,更喜歡用Try Catch Finally方法,尤其當(dāng)有一段代碼必須被執(zhí)行到的時(shí)候。現(xiàn)在好了,adweigert 想出了一個(gè)好方法來實(shí)現(xiàn)。這個(gè)函數(shù)已經(jīng)在多種情況下測試過,希望能對你有幫助2013-11-11
利用PowerShell一鍵下載Nuget某個(gè)包的所有版本
這篇文章主要為大家詳細(xì)介紹了如何利用PowerShell一鍵下載Nuget某個(gè)包的所有版本,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以參考一下2024-12-12
Powershell腳本的4種執(zhí)行權(quán)限介紹
這篇文章主要介紹了Powershell腳本的4種執(zhí)行權(quán)限介紹,Windows默認(rèn)不允許任何腳本運(yùn)行,你可以使用"Set-ExecutionPolicy"cmdlet來改變的你PowerShell環(huán)境,共有4種運(yùn)行權(quán)限,需要的朋友可以參考下2015-06-06

