1

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、? の場合もありますが、常に 1 文字のみのように見えます (余分な文字が追加されない場合もあります)。

ふざけんな.....

4

1 に答える 1

0

私の最善の推測は、複数文字列キーの値を取得していて、それらの面白い文字が文字列区切り文字であるということです。VMSMPただし、私のコンピューターには、私の理論を検証するための鍵がありません。

于 2011-12-08T19:59:50.987 に答える