PowerShell Remoting from Linux Parrot (Debian) to Windows


Those steps which you have to take to be able using Enter-PSSession command on your Linux box.

Step1. Install PowerShell Core.
Go to and follow Microsoft documentation: https://docs.microsoft.com/en-us/powershell/scripting/install/installing-powershell-core-on-linux?view=powershell-7.1

Step2. To make Enter-PSSession working on Linux you have to install gss-ntlmssp

apt install gss-ntlmssp

Step3. Enable PSRemoting on Windows machine

Enable-PSRemoting –Force

Get-Item WSMan:\localhost\Client\TrustedHosts

Use a wildcard to permit all machines to use NTLM when authenticating to this host.

Set-Item WSMan:\localhost\Client\TrustedHosts -Force -Value *

Or be specific and add only your IP to the NTLM authentication permitted list.

Set-Item WSMan:\localhost\Client\TrustedHosts -Force -Concatenate -Value

Setup and restart the WinRM service to reflect the changes made.

Set-Service WinRM -StartMode Automatic
Restart-Service -Force WinRM

Now you can use PSremoting on your Linux.

Step4. How to use it on Linux box.

# Grab the credyntilas
$credyntilas = Get-Credential

# Important: you MUST use authentication type as Negotiate

Enter-PSSession -ComputerName -Authentication Negotiate -Credential $creds

You can also run some commands

Invoke-Command -ComputerName -Authentication Negotiate -Credential $creds -ScriptBlock {Get-HotFix}

Step5. If you want to clean up Windows machine.

Clear-Item WSMan:\localhost\Client\TrustedHosts
Restart-Service WinRM