powershell 卸载VMM程序后,控制面板中还有此程序的记录,远程清理控制面板中的此程序记录记录
时间: 2024-03-05 18:49:13 浏览: 119
您可以使用 PowerShell 的 `regedit` 命令来删除远程计算机上的注册表项,从而清理控制面板中的程序记录。以下是示例代码:
```
$computerName = "RemoteComputerName" # 将 "RemoteComputerName" 替换为远程计算机的名称
$uninstallKey = "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall"
$programName = "VMM" # 将 "VMM" 替换为要删除的程序名称
# 构建注册表项路径
$regPath = "\\$computerName\HKLM\$uninstallKey"
# 获取远程计算机上的卸载程序列表
$uninstallList = Invoke-Command -ComputerName $computerName -ScriptBlock { Get-ChildItem -Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall" }
# 查找要删除的程序并删除其注册表项
foreach ($uninstallItem in $uninstallList) {
$uninstallItemPath = $uninstallItem.PSPath
if (Get-ItemProperty -Path $uninstallItemPath | Where-Object { $_.DisplayName -eq $programName }) {
$programKey = Join-Path $uninstallItemPath $programName
Invoke-Command -ComputerName $computerName -ScriptBlock { reg delete $using:programKey /f }
Write-Host "Removed program record for $($programName) on $($computerName)."
}
}
```
请注意,此代码将远程计算机上的整个卸载程序列表下载到本地计算机上,并在本地计算机上查找要删除的程序。这可能会导致性能问题,特别是在网络较慢的情况下。如果您有访问远程计算机的权限,则可以直接在远程计算机上运行此代码,以避免此问题。
阅读全文