首页 > 解决方案 > powershell (Get-WmiObject win32_physicalmedia).serialnumber 输出十六进制

问题描述

当我使用时(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".

标签: powershell

解决方案


我认为这被称为“中间端”格式,其中每两个字节反转: 中间端

来自此处的帖子: Vista 中的 WMI Win32_PhysicalMedia SMART ID 和 7 权限


推荐阅读