我正在尝试通过 PowerShell 访问多个远程服务器的注册表(其名称是从文本文件中读取的),以便收集有关安装在特定服务器中的 SQL Server 实例的信息。
以下是一些额外的细节:
- 我用来访问远程服务器的用户帐户是这些服务器中的管理员
- 我检查了远程注册表服务是否在每台服务器上运行。它正在运行。
不断显示的错误是:
使用“2”参数调用“OpenRemoteBaseKey”的异常:“尝试执行未经授权的操作。
这是我的脚本的一部分:
$VMs = get-content C:\VMs\patchtestingvms.txt
foreach($VM in $VMs)
{
$CompName = $VM.Trim()
$reg = [Microsoft.Win32.RegistryKey]::OpenRemoteBaseKey('LocalMachine', $CompName)
$regKey= $reg.OpenSubKey("SOFTWARE\\Microsoft\\Microsoft SQL Server\\Instance Names\\SQL" )
$instances = $regkey.GetValueNames()
}