(0..5 | % { ‘{0:x}{1:x}’ -f (Get-Random -Minimum 0 -Maximum 15),(Get-Random -Minimum 0 -Maximum 15)}
由于刚刚学习powershell,对这条随机生成MAC地址的命令不太懂,求大神解释一下。
1 Answers
生产一个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 ':'
输出:ba:cc:30:2a:8d:71