1

powershell を使用してレジストリ キーを空にしようとしています。次のコードを実行すると、すべて問題なくエラーが発生していないように見えますが、レジストリを確認すると、キーの内容がまだ残っています。

また、スクリプトにターゲット コンピューターを追加して、ターゲット コンピューターから無効なキーを削除したいと考えています。

私が間違っていることは何ですか?みんなありがとう。

$hklm = 2147483650
$key = "SOFTWARE\Microsoft\MSLicensing"
$wmi = [wmiclass]"root\default:stdRegProv"
$wmi.DeleteKey($hklm,$key)
4

2 に答える 2

0
$hklm = 2147483650
$rootKey = "SOFTWARE\Microsoft\MSLicensing"
$wmi = [wmiclass]"root\default:stdRegProv"
#$wmi.DeleteKey($hklm,$key)

[string[]]$subkeys = $wmi.EnumKey($hklm, $key).sNames

foreach( $subkey in $subkeys ) {

    $key = $rootKey + "\$subkey"

    $wmi.DeleteKey($hklm, $key)
}

$wmi.DeleteKey($hklm, $rootKey)

コードが失敗した理由は、削除しようとしているキーの下にキーがあるためです。

上記のコードで問題が解決するはずです。

于 2012-06-22T14:11:38.373 に答える
0

cd hklm:\SOFTWARE\Microsoft\MSLicensing remove-item 2147483650 -whatif

于 2012-06-23T23:59:31.363 に答える