PowerShell中把IP转换为长整形数字的方法_PowerShell

IPv4的地址其实可以换成为一个长整形的数字,使用数字类型来表示IP地址时,可以非常方便的进行地址范围的匹配比较。在.NET开发环境中一个IPAddress类,它的Address属性就是十进制的数字,而IPAddressToString属性是我们熟悉的点分十进制的字符串形式。

下面两个过滤器,分别处理“点分十进制”字符串到数字的转换和数字到“点分十进制”的转换。

复制代码 代码如下:

//“点分十进制”字符串到数字的转换
filter Convert-IP2Decimal
{
   ([IPAddress][String]([IPAddress]$_)).Address
}

//数字到“点分十进制”的转换
filter Convert-Decimal2IP
{
([System.Net.IPAddress]$_).IPAddressToString
}

使用的时候,把这两个filter导入到当前环境中,然后再使用管道执行。

复制代码 代码如下:

PS C:\Documents and Settings\Administrator> filter Convert-IP2Decimal
>> {
>>     ([IPAddress][String]([IPAddress]$_)).Address
>> }
>>
PS C:\Documents and Settings\Administrator>
PS C:\Documents and Settings\Administrator> filter Convert-Decimal2IP
>> {
>> ([System.Net.IPAddress]$_).IPAddressToString
>> }
>>

测试转换效果:

复制代码 代码如下:

PS C:\Documents and Settings\Administrator> "192.168.0.1" | Convert-IP2Decimal
16820416
PS C:\Documents and Settings\Administrator> 16820416 | Convert-Decimal2IP
192.168.0.1
PS C:\Documents and Settings\Administrator>

时间: 2024-09-20 05:34:55

PowerShell中把IP转换为长整形数字的方法_PowerShell的相关文章

PowerShell中直接输出转义字符或变量名称的方法_PowerShell

本文介绍在PowerShell的字符串中,如何禁止字符串中某分字符被转义或部分字符被当作变量,即让字符串中所有的字符都原样输出. 在PowerShell中,转义字符是以字符(·)开头的一部分特殊字符,可以用于实现换行.TAB等功能.而变量则是以符号($)开头,代表一个值.之前的文章中我们介绍过转义字符,也介绍过在字符串中包含变量.有兴趣的朋友可以去了解一下. 在PowerShell中可以用一对双引号引起一个字符串,也可以使用一对单引号引起一个字符串.而用单引号与双引号最大的一个区别是,双引号引起

PowerShell中以管理员权限启动应用程序的方法_PowerShell

又一个PowerShell比CMD好的地方.在CMD中用管理员权限来启动应用程序很复杂,但在PowerShell中就简单多了,如下: 复制代码 代码如下: Start-Process notepad -Verb runas Start-Process "$PSHOME\powershell.exe" -Verb runas

PowerShell中查询错误编号信息的2个方法_PowerShell

有时候,一些本地命令,比如net.exe,在执行过程中,会返回数字编号形式的错误信息.很郁闷的是,我们不知道这些数字代表什么意思.以前,我们可以使用如下的方式去获取数字代表的信息: 复制代码 代码如下: PS> net helpmsg 3534 The service did not report an error. PS> net helpmsg 1 Incorrect function. PS> net helpmsg 4323 The transport cannot access

js中使用正则表达式查找字母和数字的方法

废话不多说,先看下js中使用正则查找字母和数字的方法,具体代码如下所示: <!DOCTYPE HTML> <html > <head> <meta charset="UTF-8"> <title></title> <script type="text/javascript"> window.onload=function(){ localStorage.fiveData="

PowerShell中使用Like运算符配合通配符查找字符串例子_PowerShell

本文介绍在PowerShell中使用通配符来查找字符串,和通配符一起使用的是like运算符. 在PowerShell中的通配符是星号(*)和问号(?),这跟DOS系统中是一样的.要使用通配符在字符串中查找,可以使用like运算符.举例如下: "123"是以1开头 复制代码 代码如下: PS C:\Users\splaybow> "123" -like "1*" True "123"是以1开头,3结尾 复制代码 代码如下:

PowerShell中简单的自定义函数和调用函数例子_PowerShell

在PowerShell中是否有函数?PowerShell是否可以自定义函数?PowerShell中如何自定义函数? 在PowerShell中,我们可以使用函数(function)来简化编程开发.在PowerShell中使用function这个关键词来标识一个函数.一个自定义的函数,由function关键词开始,然后用一对大括号来包括起整个函数体的内容. 我们先来看一下简单的PowerShell函数: 复制代码 代码如下: function Test-Function {     Write-Ho

Excel数据表中如何显示很长的数字

情况一:不超11位数方法 1.单击输入数字的单元格,切换至"开始"选项卡,在"数字"组中点击"数字格式". 2.弹出"设置单元格格式"对话框,在"分类"列表中点击"自定义"选项,在"类型"中选择"@"选项,单击"确定"按钮. 3.完成上述步骤,再输入数字,大家看还会是科学计数的样子吗? 情况二:超过11和15位数方法 1.如果数

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

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

PowerShell中定义多个变量并赋值的例子_PowerShell

所谓赋值语句,小编在最早学C语言时就知道那就是"a=1;".这么多年来,虽然语言在变,但赋值语句基本没变过.但今天在看一串PowerShell代码的时候,这种理念被推翻了.小编看到了多变量同时赋值的语句. 小编看到的语句是这样的: 复制代码 代码如下: $a[0],$a[1]=$a[0],$a[1]; 大家来猜猜它是什么意思? 其实很好猜,第一眼看上去就像是把$a[0]和$a[1]这两个数组元素颠倒.而事实上的效果也是这样的.难道说这就是两个变量互换值的语句吗?我们知道在传统的编程语言