Windows Server 2025 Core: Headless PowerShell Remoting Guide
Manage lightweight, GUI-free Windows Server 2025 Core instances over secure HTTPS WinRM and OpenSSH using modern PowerShell 7.
Netbay Engineering
Netbay Engineering
On this page
For enterprise deployments on cloud infrastructure, Windows Server Core represents the recommended deployment option over the traditional Desktop Experience. By removing the graphical desktop shell, File Explorer, and legacy UI dependencies, Windows Server Core consumes 60% less RAM, boots in under 15 seconds, and reduces operating system patching reboots by over 45% due to a drastically minimized attack surface.
However, operating a headless Windows server requires moving away from Remote Desktop Protocol (RDP) GUI sessions in favor of automated PowerShell Remoting. Windows Server 2025 supports both modern PowerShell Remoting over WinRM (HTTPS port 5986) and native OpenSSH, allowing seamless administration from both Windows workstations and Linux management jump boxes.
Configuring WinRM over HTTPS
Default WinRM runs over unencrypted HTTP on port 5985. In production cloud deployments across public IP addresses, WinRM must be bound to HTTPS port 5986 with a valid TLS certificate:
# Generate a self-signed management certificate if enterprise PKI is absent
$cert = New-SelfSignedCertificate -DnsName "win-vps.example.com" -CertStoreLocation "Cert:LocalMachineMy"
# Remove default HTTP listeners
Get-ChildItem WSMan:Localhostlistener | Remove-Item -Recurse
# Create secure HTTPS listener on port 5986
New-Item -Path WSMan:LocalHostListener -Transport HTTPS -Address * -CertificateThumbPrint $cert.Thumbprint -Force
# Open Windows Defender Firewall for WinRM HTTPS
New-NetFirewallRule -DisplayName "WinRM-HTTPS-Inbound" -Name "WinRM-HTTPS-Inbound" -Profile Any -LocalPort 5986 -Protocol TCP -Action Allow -Direction InboundEstablishing Remote Sessions
From your local administration workstation, connect to the remote Windows Server Core VPS using Enter-PSSession:
# Prompt for credentials and establish interactive session
$cred = Get-Credential
$sessionOption = New-PSSessionOption -SkipCACheck -SkipCNCheck
Enter-PSSession -ComputerName "win-vps.example.com" -Credential $cred -Port 5986 -UseSSL -SessionOption $sessionOptionOnce connected, you have full administrative execution: install Windows Features with Install-WindowsFeature, configure IP addresses, and supervise system services without opening an RDP window.
Remote Administration Video
Explore best practices for server remoting and secure administration workflows:
Enabling Native OpenSSH Server
Windows Server 2025 includes native OpenSSH. If you manage a hybrid fleet of Linux and Windows servers, running OpenSSH allows unified key management across all instances:
# Install OpenSSH Server capability
Add-WindowsCapability -Online -Name OpenSSH.Server~~~~0.0.1.0
# Start and set OpenSSH service to automatic
Start-Service sshd
Set-Service -Name sshd -StartupType 'Automatic'
# Confirm firewall port 22 is open
Get-NetFirewallRule -Name *ssh*Launch fast-booting Windows Server Core VPS instances in under 60 seconds at netbayhosts.in.
Keep reading
Follow along on a real VPS
Deploy Linux in under 60 seconds
These guides are written against Ubuntu, Debian, and RHEL-family images — the same ones on NetBay.
Deploy an instance