Skip to content

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 ​

  1. Boot the ISO and pick the edition without "(Desktop Experience)".
  2. At first boot, set the local Administrator password.
  3. You land in sconfig (Server 2022 and later) or a command prompt (older). Type sconfig any time to get the menu back, or powershell for 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 /dlv

4. 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 ​

  1. Download from aka.ms/wacdownload and install it on your admin PC or on a gateway server, not on the Core server itself.
  2. 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 -Force

Handy at the Core console ​

NeedCommand
Back to the menusconfig
Task Managertaskmgr
Edit a filenotepad file.txt
Log offlogoff
RestartRestart-Computer
Lost the console windowCtrl+Alt+Del → Task Manager → File → Run → powershell

Further reading ​

IT field notes from STL Net Services.