随机生产MAC地址命令问题


PowerShell交流中心分类: Powershell基础随机生产MAC地址命令问题
0
iori7751 asked 7年 ago

(0..5 | % { ‘{0:x}{1:x}’ -f (Get-Random -Minimum 0 -Maximum 15),(Get-Random -Minimum 0 -Maximum 15)}
由于刚刚学习powershell,对这条随机生成MAC地址的命令不太懂,求大神解释一下。

1 Answers
0
Mooser Lee 管理员 answered 7年 ago

生产一个1到16的随机整数:

PS> Get-Random -Minimum 0 -Maximum 15
10 

把生产的整数转换成16进制字符串:

PS> "{0:x}" -f 10
a

把两个整数转换成10进制字符串

PS> "{0:x}{1:x}" -f 10,15
af

把上面的字符串重复生成6个:

PS> 0..5 | foreach {"af"}
af
af
af
af
af
af

把所有的逻辑串起来:

PS> (0..5 | % { ‘{0:x}{1:x}’ -f (Get-Random -Minimum 0 -Maximum 15),(Get-Random -Minimum 0 -Maximum 15)})
ed
05
07
0b
33
bc

最后一步你肯定没有写出来,把生成的字符串数组用冒号拼接起来:

 (
0..5 |
ForEach-Object { ‘{0:x}{1:x}’ -f (Get-Random -Minimum 0 -Maximum 15),`
(Get-Random -Minimum 0 -Maximum 15)
}
) -join ':'
Mooser Lee 管理员 replied 7年 ago

输出:ba:cc:30:2a:8d:71