在 Windows 2008 R2 上从 WinRM 访问被拒绝

在 Windows 2008 R2 上从 WinRM 访问被拒绝

如何将 Windows 2008 R2 计算机上的 WinRM 恢复到“出厂设置”状态?或者,如何让 WinRM 再次与我通信?

我通过 RDP 以管理员身份登录。任何访问或配置 winrm 的尝试都会被拒绝访问。

我有另外 3 台服务器,WinRM 运行良好。

在过去 2 个月的某个时候,WinRM 在第 4 台服务器上变得无法访问。

我花了大约 2 天时间阅读、研究并尝试各种方法让 WinRM 重新运行。以下是一些方法:

LocalAccountTokenFilterPolicy 设置为 1
所有服务器的防火墙规则相同。Windows
远程管理服务已启动并正在运行。

以下是我使用各种命令看到的一些示例:

PS C:\> winrm id IdentifyResponse
     ProtocolVersion = http://schemas.dmtf.org/wbem/wsman/1/wsman.xsd
     ProductVendor = Microsoft Corporation
     ProductVersion = OS: 6.1.7601 SP: 1.0 Stack: 2.0

winrm quickconfig

PS C:\> winrm quickconfig
WinRM already is set up to receive requests on this machine.
WSManFault
    Message = Access is denied.

Error number:  -2147024891 0x80070005

winrm 枚举 winrm/config/listener

PS C:\>  winrm enumerate winrm/config/listener
WSManFault
    Message = Access is denied.

Error number:  -2147024891 0x80070005
Access is denied.

设置 PSSessionConfiguration Microsoft.Powershell -ShowSecurityDescriptorUI

Performing operation "Set-PSSessionConfiguration" on Target "Name: Microsoft.PowerShell".
[Y] Yes  [A] Yes to All  [N] No  [L] No to All  [S] Suspend  [?] Help (default is "Y"): Y
Access is denied.
At line:15 char:26
+    if ((!$pluginName) -or <<<<  !(test-path "$pluginDir"))
    + CategoryInfo          : InvalidOperation: (:) [], InvalidOperationException
    + FullyQualifiedErrorId : WsManError

Join-Path : Access is denied.
At line:22 char:35
+    $pluginFileNamePath = Join-Path <<<<  "$pluginDir" 'FileName'
    + CategoryInfo          : NotSpecified: (:) [Join-Path], InvalidOperationException
    + FullyQualifiedErrorId : System.InvalidOperationException,Microsoft.PowerShell.Commands.JoinPathCommand

Test-Path : Cannot bind argument to parameter 'Path' because it is an empty string.
At line:23 char:19
+    if (!(test-path <<<<  "$pluginFileNamePath"))
    + CategoryInfo          : InvalidData: (:) [Test-Path], ParameterBindingValidationException
    + FullyQualifiedErrorId : ParameterArgumentValidationErrorEmptyStringNotAllowed,Microsoft.PowerShell.Commands.Test
   PathCommand

Get-Item : Cannot bind argument to parameter 'LiteralPath' because it is an empty string.
At line:29 char:43
+    $pluginFileName = get-item -literalpath <<<<  "$pluginFileNamePath"
    + CategoryInfo          : InvalidData: (:) [Get-Item], ParameterBindingValidationException
    + FullyQualifiedErrorId : ParameterArgumentValidationErrorEmptyStringNotAllowed,Microsoft.PowerShell.Commands.GetI
   temCommand

Set-PSSessionConfiguration : Session Configuration "Microsoft.PowerShell" is not a PowerShell based shell.
At line:89 char:27
+ Set-PSSessionConfiguration <<<<  $args[0] $args[1] $args[2] $args[3] $args[4] $args[5] $args[6] $args[7] $args[8]
    + CategoryInfo          : NotSpecified: (:) [Write-Error], WriteErrorException
    + FullyQualifiedErrorId : Microsoft.PowerShell.Commands.WriteErrorException,Set-PSSessionConfiguration

和服务器管理器

服务器管理器 - 配置服务器管理器远程管理

答案1

我发现,在受影响的服务器上,winrm 的访问权限仅限于单个自定义组(本地用户和组)的成员。将管理员用户添加到该组可让这些用户访问。

现在我正试图弄清楚如何将访问权限限制在自定义组的成员。我的安慰是,我们托管公司的 IT 专家也还没有弄清楚。

相关内容