Windows Server Core Initial Setup
Server Core has no desktop, which means less patching and a smaller attack surface. Everything below is done at the console first, then remotely.
1. Install
- Boot the ISO and pick the edition without "(Desktop Experience)".
- At first boot, set the local Administrator password.
- You land in
sconfig(Server 2022 and later) or a command prompt (older). Typesconfigany time to get the menu back, orpowershellfor a shell.
2. Basics with sconfig
The sconfig menu covers the first-day tasks without typing commands:
- Computer name, then restart
- Network settings: static IP, gateway, DNS
- Date, time and time zone
- Remote management: enabled by default, check it says so
- Remote Desktop: enable if you want RDP to the console
- Install updates
- Join a domain, then restart
3. Same thing in PowerShell
Useful for scripting, or when sconfig is not there.
powershell
# Network: find the adapter name first
Get-NetAdapter
New-NetIPAddress -InterfaceAlias "Ethernet" -IPAddress 192.168.1.20 -PrefixLength 24 -DefaultGateway 192.168.1.1
Set-DnsClientServerAddress -InterfaceAlias "Ethernet" -ServerAddresses 192.168.1.10,192.168.1.11
# Time zone
Set-TimeZone -Id "Central Standard Time"
# Rename, then join the domain (each restarts)
Rename-Computer -NewName "SRV-CORE01" -Restart
Add-Computer -DomainName "corp.example.com" -Credential "CORP\admin" -Restart
# Activation (from PowerShell or cmd)
slmgr /ipk XXXXX-XXXXX-XXXXX-XXXXX-XXXXX
slmgr /ato
slmgr /dlv4. Allow remote management
WinRM is on by default for Server. Open the firewall groups that MMC consoles and Windows Admin Center use:
powershell
Enable-NetFirewallRule -DisplayGroup "Windows Remote Management"
Enable-NetFirewallRule -DisplayGroup "Remote Event Log Management"
Enable-NetFirewallRule -DisplayGroup "Remote Service Management"
Enable-NetFirewallRule -DisplayGroup "File and Printer Sharing"5. Windows Admin Center
- Download from aka.ms/wacdownload and install it on your admin PC or on a gateway server, not on the Core server itself.
- Open it in a browser, Add the server by name or IP, and connect with admin credentials.
If the server is not domain-joined, the admin PC has to trust it first. Run this on the admin PC as administrator:
powershell
Set-Item WSMan:\localhost\Client\TrustedHosts -Value "192.168.1.20" -Concatenate -ForceHandy at the Core console
| Need | Command |
|---|---|
| Back to the menu | sconfig |
| Task Manager | taskmgr |
| Edit a file | notepad file.txt |
| Log off | logoff |
| Restart | Restart-Computer |
| Lost the console window | Ctrl+Alt+Del → Task Manager → File → Run → powershell |
Further reading
- Manage a Server Core server (Microsoft)
- Windows Admin Center overview (Microsoft)
- Remote administration of Server Core via MMC (Microsoft Tech Community)
- Server Core through WinRM and Windows Admin Center (Dom Stamand)
- Manage Server Core with Admin Center, PowerShell and sconfig (4sysops)