WMI 注册表使用 Powershell 进行编辑



我正在尝试使用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 -如果

最新更新