我正在尝试远程PowerShell从我的域加入PC到我们DMZ中的服务器,但我无法弄清楚如何让它工作。
DMZ服务器在启用的默认端口5985上为HTTP配置了侦听器。计算机中的两个NIC都标记为公共网络,因此我更改了公共配置文件的Windows远程管理(HTTP-In)防火墙规则,以接受来自我的IP以及已配置的本地子网的连接。
在我的客户端计算机(Windows 10)上,我将服务器的主机名添加到WSMan:\ localhost \ Client \ TrustedHosts,并将LocalAccountTokenFilterPolicy(值:1,类型:DWORD)添加到注册表。
我使用服务器的本地凭据(servername \ username)创建一个凭证对象,然后我尝试$Sess = New-PSSession -ComputerName DMZCOMPUTER -Port 5985 -Credential $Cred
连接总是尝试使用Kerberos连接到显然不起作用的机器。< / p>
如果我尝试$Sess = New-PSSession -ComputerName DMZCOMPUTER -Port 5985 -Credential $Cred -Authentication Basic
,我会收到一条错误,指出当前已禁用未加密的流量。其他认证方案会产生不同的错误消息,但我从来没有能够远程。
我错过了某处的配置吗?使用远程PowerShell从域加入的客户端连接到工作组服务器所需的设置(服务器和客户端)。
答案 0 :(得分:9)
我最终想到了这一点,我正在做的事情有几个问题。首先,https://blogs.msdn.microsoft.com/wmi/2009/07/24/powershell-remoting-between-two-workgroup-machines/处的链接有一些不正确的信息。它声明LocalAccountTokenFilterPolicy注册表项应该在客户端计算机上,这是不正确的,它应该在服务器计算机上。
另一个修复只是我在TrustedHosts值中使用服务器的FQDN,然后在尝试创建会话时仅使用主机名。
如果其他人试图让这个工作,那么接下来的步骤是:
Enable-PSRemoting
winrm enumerate winrm/config/listener
LocalAccountTokenFilterPolicy
注册表项Get-PSSessionConfiguration
Set-Item WSMan:\localhost\Client\TrustedHosts -Value <hostname or FQDN or server>
-Concatenate
添加到Set-Item
的末尾$Cred = Get-Credential
我刚刚输入了kevmar建议的用户名和密码(不是servername \ username)$S = New-PSSession -ComputerName <same name exactly that you put in the TrustedHosts> -Credential $Cred
ComputerName
参数和TrustedHosts LocalAccountTokenFilterPolicy
醇>
答案 1 :(得分:1)
首先尝试使用您的用户名和密码创建凭证对象。跳过尝试在凭证中指定域名或服务器名称。
然后尝试使用IP地址而不是计算机名称进行连接。您仍然需要将其添加到可信主机值中。
最后一件事是使用Test-WSMan
来解决您的问题。提供的错误消息应该为您提供有关问题的强烈提示。