我正在尝试使用powershell来清空注册表项。当我运行以下代码时,一切似乎都很好,没有错误,但在检查注册表时,密钥的内容仍然存在。
我还想将目标计算机添加到脚本中,以从目标计算机中删除失效的密钥。
知道我做错了什么吗?谢谢大家。
$hklm = 2147483650
$key = "SOFTWAREMicrosoftMSLicensing"
$wmi = [wmiclass]"rootdefault:stdRegProv"
$wmi.DeleteKey($hklm,$key)
$hklm = 2147483650
$rootKey = "SOFTWAREMicrosoftMSLicensing"
$wmi = [wmiclass]"rootdefault: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)
代码失败的原因是您尝试删除的密钥下方有密钥。
上面的代码应该可以解决您的问题。
cd hklm:\SOFTWARE\Microsoft\MSLicensing删除项目2147483650 -如果