通过使用 Out-String,您可以将 的输出转换为gwmi win32_bios | select serialnumber
字符串并将其存储在$sn
. 所以,$sn
现在会有以下内容:
PS> $sn
serialnumber
------------
xxxxxxx
因此,$sn.length
向您展示了整个字符串的长度。如果您只想将其更改为序列号:
PS> $sn = gwmi win32_bios | select -Expand serialnumber | out-string
PS> $sn
xxxxxxx
PS> $sn.Length
9
如您所见,我的序列号(我删除了原来的)只有 7 个字符宽。但是,$sn.length
显示 9。输出后可能有几个隐藏字符。我可以在控制台的输出后看到一个空行。
来到真正的点,这个空间被添加Out-String
。所以,你甚至不需要那个。你可以做:
PS> $sn = gwmi win32_bios | select -Expand serialnumber
PS> $sn
XXXXXX
PS> $sn.Length
7
$sn
仍然是一个字符串。
PS> $sn.GetType()
IsPublic IsSerial Name BaseType
-------- -------- ---- --------
True True String System.Object