我正在努力处理运行 SQL Server Reporting Services 的远程服务器。我的 Reporting Services 使用单独的域帐户运行,并且我已经为它们设置了 SPN ( HTTP/<Machine> <domain>\<user>)。据我所知,这有效地禁用了 PowerShell 远程处理,因为 WinRM 应该使用的 SPN 指向 Reporting Services 使用的域帐户。
我在运行 eg 时没有问题Get-Service -ComputerName <Machine>,但是如果我尝试Get-CimInstance Win32_Service -ComputerName <machine>或Enter-PsSession <machine>遇到类似的错误:
Get-CimInstance :WinRM 无法处理请求。使用 Kerberos 身份验证时出现错误代码 0x80090322 的以下错误:发生未知安全错误。可能的原因有:
-指定的用户名或密码无效。
-Kerberos 在未指定身份验证方法和用户名时使用。
-Kerberos 接受域用户名,但不接受本地用户名。
- 远程计算机名称和端口的服务主体名称 (SPN) 不存在。
- 客户端和远程计算机在不同的域中,两个域之间不存在信任。检查上述问题后,请尝试以下操作: -
检查事件查看器中是否存在与身份验证相关的事件。
- 更改认证方式;将目标计算机添加到 WinRM TrustedHosts 配置设置或使用 HTTPS 传输。请注意,TrustedHosts 列表中的计算机可能未经过身份验证。
- 有关 WinRM 配置的更多信息,请运行以下命令:winrm help config。在 line:1 char:1 + Get-CimInstance win32_service -ComputerName …