Enter-PSSession:接收非域远程服务器上被拒绝的访问

Enter-PSSession:接收非域远程服务器上被拒绝的访问

我无法在远程服务器 (Windows Server 2022 Standard) 上打开远程 PS 会话。远程服务器不是域的一部分。

运行命令时

Enter-PSSession -ComputerName server01 -Credential server01\administrator

我收到“访问被拒绝”的消息。

我做了什么:

  • 服务器
    • Enable-PSRemoting
    • Enable-WSManCredSSP -Role server
  • 客户
    • Add-Content -Path C:\Windows\System32\drivers\etc\hosts -Value "`n192.168.1.250`tserver01"
    • winrm quickconfig
    • Set-Item WSMan:\localhost\Client\TrustedHosts -Value server01

在客户端执行时

Enter-PSSession -ComputerName server01 -Credential server01\administrator

并输入我收到的密码:

Enter-PSSession :在与远程服务器“server01”绑定的情况下,会出现以下错误: 单击此处可查看更多“about_Remote_Troubleshooting”帮助主题中的信息。输入:1 字母:1 + Enter-PSSession -ComputerName server01 -Credential server01\administrator + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + CategoryInfo : InvalidArgument: (server01:String) [输入- PSSession],PSRemotingTransportException + FullyQualifiedErrorId:CreateRemoteRunspaceFailed

在客户端执行时

winrm identify -r:http://server01:5985 -u:server01\Administrator -p:secret

我收到

WSManFault 消息 = 已注销

错误编号: -2147024891 0x80070005 已注销

我错过了什么?

更新:

在 winrm 配置中,我设置了和Auth/Basic(客户端和服务)- 结果相同。然后我AllowUnencryptedtrue配置 HTTPS 访问使用自签名证书-结果相同。

由于服务器端没有条目,Microsoft-Windows-Windows Remote Management/Operational因此看起来请求在客户端被阻止。Test-NetConnection -ComputerName server01 -Port 5985成功(就像端口 5986 一样)。

答案1

因为您使用的是非域用户,所以我的第一个猜测是这UAC可能会阻止您。

我想说这个错误是由客户端引发的,因此请先尝试UAC在客户端上禁用。如果这不起作用,请UAC在服务器上禁用。

如果不UAC相关,我可以想象这个本地管理员帐户需要成为Remote Management Users服务器上组的成员。

至少这是我下一步要尝试的。

答案2

winrm get winrm/config您需要在服务器上包含输出。使用 HTTP 上的基本身份验证通过网络以未加密的方式将凭证发送到主机,因此它通常默认为服务禁用。

还要检查 Windows 远程管理事件日志(Microsoft-Windows-Windows 远程管理/操作)。

winrm get winrm/config
Config
    MaxEnvelopeSizekb = 500
    MaxTimeoutms = 60000
    MaxBatchItems = 32000
    MaxProviderRequests = 4294967295
    Client
        NetworkDelayms = 5000
        URLPrefix = wsman
        AllowUnencrypted = false
        Auth
            Basic = true
            Digest = true
            Kerberos = true
            Negotiate = true
            Certificate = true
            CredSSP = false
        DefaultPorts
            HTTP = 5985
            HTTPS = 5986
        TrustedHosts
    Service
        RootSDDL = O:NSG:BAD:P(A;;GA;;;BA)(A;;GR;;;IU)S:P(AU;FA;GA;;;WD)(AU;SA;GXGW;;;WD)
        MaxConcurrentOperations = 4294967295
        MaxConcurrentOperationsPerUser = 1500
        EnumerationTimeoutms = 240000
        MaxConnections = 300
        MaxPacketRetrievalTimeSeconds = 120
        AllowUnencrypted = false
        Auth
            Basic = false        **
            Kerberos = true
            Negotiate = true
            Certificate = false
            CredSSP = false
            CbtHardeningLevel = Relaxed
        DefaultPorts
            HTTP = 5985
            HTTPS = 5986
        IPv4Filter = *
        IPv6Filter = *
        EnableCompatibilityHttpListener = false
        EnableCompatibilityHttpsListener = false
        CertificateThumbprint
        AllowRemoteAccess = true
    Winrs
        AllowRemoteShellAccess = true
        IdleTimeout = 7200000
        MaxConcurrentUsers = 2147483647
        MaxShellRunTime = 2147483647
        MaxProcessesPerShell = 2147483647
        MaxMemoryPerShellMB = 2147483647
        MaxShellsPerUser = 2147483647

答案3

我找到了解决方案。我只需添加-Authentication BasicEnter-PSSession命令中即可。

完整命令:

Enter-PSSession -ComputerName server01 -Authentication Basic -Credential administrator

使用时winrm identify我必须添加-auth:basic

winrm identify -r:http://server01:5985 -a:basic -u:Administrator -p:secret

就这么简单...

相关内容