[英]powershell (Get-WmiObject win32_physicalmedia).serialnumber output hex
当我使用(Get-WmiObject win32_physicalmedia).serialnumber
,输出是十六进制的。 示例: 31323334353637383930
。 然后我使用了下面的代码
$pass=""
$t=(Get-WmiObject win32_physicalmedia).serialnumber
$t -split '(.{2})' |%{ if ($_ -ne "") { $pass+=[CHAR]([CONVERT]::toint16("$_",16)) }}
write host $pass
输出为: 1234567890
。 问题是1234567890
不是序列号——真正的序列号是2143658709
。 我需要一个脚本来将数字$input "1234567890"
交换为$output "214365768709"
。
这假定您的 SN 字符串是偶数个字符,并且实数只是反转字符对。
$InString = '1234567890'
$OutString = ''
foreach ($Index in 0..($InString.Length / 2))
{
$CurPos = $Index * 2
$OutString += $InString[$CurPos + 1] + $InString[$CurPos]
}
$OutString
输出 = 2143658709
我认为这称为“中端”格式,其中每两个字节颠倒一次:中端
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.