PowerShell把IP地址转换成二进制的方法

 更新时间:2014年08月11日 09:15:07   投稿:junjie  
这篇文章主要介绍了PowerShell把IP地址转换成二进制的方法,在一些IP判断的场合经常使用的小技巧,需要的朋友可以参考下

IPv4地址其实是32位二进制数字,然后我们将它分成四段,每段8位。8位二进制能表达的范围是0~255,所以点分十进制的每一个数字的取值都在0~255之间。有的时候,比如为了换算子网掩码,我们需要将IP地址还原成二进制串的形式,如:11000000101010000000110000100001。今天小编看到一个例子就是来完成这个操作的。

代码如下:

复制代码 代码如下:

$ipV4 = '192.168.12.33'
-join ($ipV4.Split('.') | ForEach-Object {[System.Convert]::ToString($_,2).PadLeft(8,'0')})
#-join是把多个结果对象或数组元素组合在一起输出。

结果将显示为:
复制代码 代码如下:
11000000101010000000110000100001

我们也可以修改一下程序,分别显示出每一段的转换后的形式:

复制代码 代码如下:
$ipV4.Split('.') | ForEach-Object {
   '{0,5} : {1}' -f $_, [System.Convert]::ToString($_,2).PadLeft(8,'0')
}

结果将显示如下:
复制代码 代码如下:
192 : 11000000
 168 : 10101000
  12 : 00001100
  33 : 00100001
 
最后补充说明一下这一句“[System.Convert]::ToString($_,2)”的理解。首先$_表示当前循环变量,把一个点分十进制的IP使用Split方法打散后,每个循环变量就是各个数字了,即192、168、12、33。而“[System.Convert]::ToString($_,2)”的意思是把这些数字转换为二进制的字符串。关于[System.Convert]::ToString的详细理解,可以参数下面几个例子:
复制代码 代码如下:
#二进制
PS C:\Users\小编> [System.Convert]::ToString(16,2);
10000
#八进制
PS C:\Users\小编> [System.Convert]::ToString(16,8);
20
#十进制
PS C:\Users\小编> [System.Convert]::ToString(16,10);
16
#十六进制
PS C:\Users\小编> [System.Convert]::ToString(16,16);
10

相关文章

  • Powershell中的文件夹共享及磁盘映射的操作步骤

    Powershell中的文件夹共享及磁盘映射的操作步骤

    本文介绍了如何在Windows下使用Powershell和cmd实现文件夹共享,内容包括查看共享列表、创建共享文件夹、驱动器映射和共享访问、删除共享等操作步骤,感兴趣的朋友跟随小编一起看看吧
    2025-02-02
  • PowerShell管理Win Server 2008 R2

    PowerShell管理Win Server 2008 R2

    在Windows Serve 2008 R2中,一个重要改进就是PowerShell版本升级为2.0。Win 2008 R2包括一系列新的服务器管理界面,这些均建立在PowerShell 2.0之上。它新增了240个cmdlets命令集,新的PowerShell图形用户界面也增添了开发功能,从而用户能更简单创建自己的命令行。
    2015-09-09
  • Windows Powershell Switch 循环

    Windows Powershell Switch 循环

    这篇文章主要介绍了Windows Powershell Switch 循环以及PowerShell中数组可以与switch语句结合,产生意想不到的效果。
    2014-10-10
  • 原创powershell脚本小工具ctracert.ps1跟踪路由(win8以上系统)

    原创powershell脚本小工具ctracert.ps1跟踪路由(win8以上系统)

    这篇文章主要介绍了原创powershell脚本小工具ctracert.ps1跟踪路由(win8以上系统),需要的朋友可以参考下
    2017-10-10
  • PowerShell使用枚举变量定义带智能提示功能的函数参数

    PowerShell使用枚举变量定义带智能提示功能的函数参数

    这篇文章主要介绍了PowerShell使用枚举变量定义带智能提示功能的函数参数,但定义后只在ISE当中有效,需要的朋友可以参考下
    2014-07-07
  • PowerShell: Try...Catch...Finally 实现方法

    PowerShell: Try...Catch...Finally 实现方法

    PowerShell 本身有很多很好的错误控制,但是习惯于.net编程的人员,更喜欢用Try Catch Finally方法,尤其当有一段代码必须被执行到的时候。现在好了,adweigert 想出了一个好方法来实现。这个函数已经在多种情况下测试过,希望能对你有帮助
    2013-11-11
  • Powershell小技巧之轻松从网上下载文件

    Powershell小技巧之轻松从网上下载文件

    本文主要介绍了一段代码下载PS说明书(这是一个珍贵并丰富的Powershell文档)自动到你的电脑。有需要的朋友可以参考下。
    2014-09-09
  • 利用PowerShell一键下载Nuget某个包的所有版本

    利用PowerShell一键下载Nuget某个包的所有版本

    这篇文章主要为大家详细介绍了如何利用PowerShell一键下载Nuget某个包的所有版本,文中的示例代码讲解详细,感兴趣的小伙伴可以参考一下
    2024-12-12
  • Powershell脚本的4种执行权限介绍

    Powershell脚本的4种执行权限介绍

    这篇文章主要介绍了Powershell脚本的4种执行权限介绍,Windows默认不允许任何脚本运行,你可以使用"Set-ExecutionPolicy"cmdlet来改变的你PowerShell环境,共有4种运行权限,需要的朋友可以参考下
    2015-06-06
  • Powershell中阻止”确认提示”的方法

    Powershell中阻止”确认提示”的方法

    这篇文章主要介绍了Powershell中阻止”确认提示”的方法,本文直接给出操作代码示例,需要的朋友可以参考下
    2015-03-03

最新评论