I'm trying to remote powershell from my domain joined PC to a server in our DMZ but I cannot figure out how to get it working.
The DMZ server has a listener configured for HTTP on the default port 5985 that is enabled. The two NIC's in the machine are both labeled for Public networks so I changed the Windows Remote Management (HTTP-In) firewall rule for the Public profile to accept connections from my IP as well as the Local subnet that was already configured.
On my client machine (Windows 10) I added the server's hostname to the WSMan:\localhost\Client\TrustedHosts and I added the LocalAccountTokenFilterPolicy (Value: 1, Type: DWORD) to the registry.
I create a credential object with my local credentials for the server (servername\username) and then I try $Sess = New-PSSession -ComputerName DMZCOMPUTER -Port 5985 -Credential $Cred
the connection always tries to use Kerberos to connect to the machine which is obviously not going to work.
If I try $Sess = New-PSSession -ComputerName DMZCOMPUTER -Port 5985 -Credential $Cred -Authentication Basic
I get an error that unecrypted traffic is currently disabled. Other Authetication schemes produce different error messages but I've never been able to remote.
Am I missing a configuration somewhere? What are the settings needed (server & client) to use remote powershell connect to a workgroup server from a domain joined client.
You can use Add-Computer PowerShell cmdlet to add a computer to Workgroup. Using the same cmdlet, you can also add a computer to an Active Directory domain. To join local computer to workgroup, type below command in a Windows PowerShell session: Add-Computer -WorkGroupName MyWorkGroup.
You can open these ports via Group Policy: Computer Configuration > Administrative Templates > Network > Network Connections > Windows Firewall > Domain Profile. You have to enable Allow inbound file and printer sharing exception or Allow inbound remote administration exception.
One-To-One Remoting. If you want your remote session to be interactive, then one-to-one remoting is what you want. This type of remoting is provided via the Enter-PSSession cmdlet.
I eventually figured this out, there were a couple of issues with what I was doing. First the link at https://blogs.msdn.microsoft.com/wmi/2009/07/24/powershell-remoting-between-two-workgroup-machines/ has some incorrect information. It states that the LocalAccountTokenFilterPolicy registry entry should be on the client machine, this is incorrect, it should be on the server machine.
The other fix was just me being a bonehead using the FQDN of the server in the TrustedHosts value and then using just the hostname when trying to create the session.
If anyone else is trying to get this working the steps to follow are:
Enable-PSRemoting
on the server machine
winrm enumerate winrm/config/listener
LocalAccountTokenFilterPolicy
registry keyGet-PSSessionConfiguration
Set-Item WSMan:\localhost\Client\TrustedHosts -Value <hostname or FQDN or server>
-Concatenate
to the end of Set-Item
if you're trying to add a server to the list$Cred = Get-Credential
I just entered a username and password (not servername\username) as suggested by kevmar$S = New-PSSession -ComputerName <same name exactly that you put in the TrustedHosts> -Credential $Cred
ComputerName
parameter and the TrustedHostsLocalAccountTokenFilterPolicy
is configured on the server
First try creating a credential object with just your username and password. Skip trying to designate a domain or server name in the credential.
Then try connecting with the IP address instead of computer name. You will still need to add it into the trusted hosts values.
The last thing to use is Test-WSMan
for troubleshooting your issue. The error message that provides should give you a strong hint as to what the issue is.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With