test.ps1的内容:
Set-Location HKLM:
$RegistryKeys = (Get-ChildItem HKLM:\SYSTEM\CurrentControlSet\services\VMSMP\Parameters\NicList)
foreach ($Key in $RegistryKeys){
if ((Get-ItemProperty $Key).FriendlyName -like "*Corp*") {
Write-Host "Found Switch in $Key"
$SwitchName = (Get-ItemProperty -Path $Key).SwitchName
$PortName = (Get-ItemProperty -Path $Key).PortName
Write-Host $SwitchName
Write-Host $PortName
}
else{}
}
输出(我快速连续运行了 4 次,以强调添加到返回值中的奇怪的额外字符):
Found Switch in HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\VMSMP\Parameters\NicList\03BDF338-4BC5-4896-8C40-55C91DEBB50D
D00D57C1-8FE2-447F-ABBD-B672CA2683CCø
D5BD78A2-543F-4F15-9FA6-729F62AE09A3ø
Found Switch in HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\VMSMP\Parameters\NicList\03BDF338-4BC5-4896-8C40-55C91DEBB50D
D00D57C1-8FE2-447F-ABBD-B672CA2683CCø
D5BD78A2-543F-4F15-9FA6-729F62AE09A3ø
Found Switch in HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\VMSMP\Parameters\NicList\03BDF338-4BC5-4896-8C40-55C91DEBB50D
D00D57C1-8FE2-447F-ABBD-B672CA2683CCø
D5BD78A2-543F-4F15-9FA6-729F62AE09A3ø
Found Switch in HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\VMSMP\Parameters\NicList\03BDF338-4BC5-4896-8C40-55C91DEBB50D
D00D57C1-8FE2-447F-ABBD-B672CA2683CCø
D5BD78A2-543F-4F15-9FA6-729F62AE09A3ø
Found Switch in HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\VMSMP\Parameters\NicList\03BDF338-4BC5-4896-8C40-55C91DEBB50D
D00D57C1-8FE2-447F-ABBD-B672CA2683CCm
D5BD78A2-543F-4F15-9FA6-729F62AE09A3m
添加到注册表项中的额外字符是怎么回事?返回的信息是正确的,除了那个额外的垃圾字符。有时它的 o,m,s,?,但似乎总是只有一个字符(有时它不会添加额外的字符)。
不知所措……