我正在尝试使用powershell清空注册表项。当我运行以下代码时,一切看起来都很好,没有错误,但在检查注册表时,密钥的内容仍然存在。
我还想在脚本中添加目标计算机,以从目标计算机中删除已解除密钥。
任何想法我做错了什么?谢谢你们。
$hklm = 2147483650
$key = "SOFTWARE\Microsoft\MSLicensing"
$wmi = [wmiclass]"root\default:stdRegProv"
$wmi.DeleteKey($hklm,$key)
答案 0 :(得分: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)
您的代码失败的原因是您尝试删除的密钥下面有密钥。
以上代码可以解决您的问题。
答案 1 :(得分:0)
cd hklm:\ SOFTWARE \ Microsoft \ MSLicensing remove-item 2147483650 -whatif