Windows Admin Center: Modern Server Management Platform
Introduction
Windows Admin Center provides browser-based management for Windows Server. This guide covers installation and setup, server connection management, built-in management capabilities, Azure integration with Hybrid Services, extension ecosystem, remote management features, and hybrid cloud scenarios.
Installation and Setup
Downloading Windows Admin Center
# Download Windows Admin Center
# Latest version: https://aka.ms/windowsadmincenter
# Gateway mode: Install on dedicated management server (recommended for production)
# Desktop mode: Install on Windows 10/11 workstation (for managing local lab)
# Download using PowerShell
$downloadUrl = "https://aka.ms/WACDownload"
$outputPath = "C:\Temp\WindowsAdminCenter.msi"
Invoke-WebRequest -Uri $downloadUrl -OutFile $outputPath
Installing Windows Admin Center
# Gateway mode installation (recommended)
# Install on Windows Server 2019/2022 or Windows 10/11
# Install with default settings
msiexec /i WindowsAdminCenter.msi /qn /L*v log.txt SME_PORT=443 SSL_CERTIFICATE_OPTION=generate
# Install with custom certificate
msiexec /i WindowsAdminCenter.msi /qn /L*v log.txt `
SME_PORT=443 `
SME_THUMBPRINT="CERTIFICATE_THUMBPRINT" `
SSL_CERTIFICATE_OPTION=installed
# Desktop mode installation (Windows 10/11)
msiexec /i WindowsAdminCenter.msi /qn /L*v log.txt SME_PORT=6516 SME_DESKTOP=1
# Verify installation
Get-Service ServerManagementGateway
Test-NetConnection -ComputerName localhost -Port 443
# Access Windows Admin Center
# https://localhost or https://servername
Initial Configuration
# Configure trusted hosts (if not domain-joined)
Set-Item WSMan:\localhost\Client\TrustedHosts -Value "server1,server2,server3" -Force
# Or allow all (less secure)
Set-Item WSMan:\localhost\Client\TrustedHosts -Value "*" -Force
# View trusted hosts
Get-Item WSMan:\localhost\Client\TrustedHosts
# Enable PowerShell Remoting on managed servers
Invoke-Command -ComputerName "server1" -ScriptBlock {
Enable-PSRemoting -Force
Set-NetFirewallRule -Name "WINRM-HTTP-In-TCP" -RemoteAddress Any
}
Gateway Settings
# Access gateway settings via browser:
# https://localhost → Settings (gear icon)
# Configure:
# - Access: Manage allowed users/groups
# - Azure: Connect to Azure subscription
# - Extensions: Manage extension feeds
# - Shared Connections: Configure connection sharing
# - Update: Enable automatic updates
# View gateway version
Get-ItemProperty "HKLM:\SOFTWARE\Microsoft\ServerManagementGateway" |
Select-Object CurrentVersion, InstalledVersion
Server Management Capabilities
Adding Server Connections
# Add servers via browser:
# Windows Admin Center → Add → Servers → Add server connection
# Or use PowerShell to configure WinRM on target servers
$servers = "server1.contoso.com", "server2.contoso.com", "server3.contoso.com"
foreach ($server in $servers) {
Invoke-Command -ComputerName $server -ScriptBlock {
Enable-PSRemoting -Force
Set-Service WinRM -StartupType Automatic
Start-Service WinRM
# Configure firewall
Set-NetFirewallRule -Name "WINRM-HTTP-In-TCP" -RemoteAddress Any
# Enable CredSSP for multi-hop authentication
Enable-WSManCredSSP -Role Server -Force
}
}
# On Windows Admin Center gateway, enable CredSSP client
Enable-WSManCredSSP -Role Client -DelegateComputer "*.contoso.com" -Force
Server Inventory Dashboard
# Available management tools in Windows Admin Center:
# System Management:
# - Overview: CPU, memory, disk, network real-time stats
# - Certificates: View and manage SSL certificates
# - Devices: Hardware device inventory
# - Events: Event Viewer integration
# - Files: File explorer with upload/download
# - Firewall: Windows Firewall rule management
# - Local users and groups: User account management
# - Network: Network adapter configuration
# - PowerShell: Integrated PowerShell console
# - Processes: Task Manager functionality
# - Registry: Remote registry editor
# - Roles & features: Install/remove Windows features
# - Scheduled tasks: Task scheduler management
# - Services: Service control and configuration
# - Storage: Disk and volume management
# - Updates: Windows Update management
# - Virtual machines: Hyper-V VM management
# - Virtual switches: Hyper-V network configuration
# Each tool accessible via server connection → Tool name
Remote PowerShell Console
# Access PowerShell console in Windows Admin Center:
# Server connection → PowerShell
# Example remote commands executed via WAC PowerShell:
# View system info
Get-ComputerInfo | Select-Object WindowsVersion, OsArchitecture, CsProcessors
# Check disk space
Get-Volume | Where-Object { $_.DriveLetter } |
Select-Object DriveLetter, FileSystemLabel,
@{N='Size(GB)';E={[math]::Round($_.Size/1GB,2)}},
@{N='Free(GB)';E={[math]::Round($_.SizeRemaining/1GB,2)}}
# List installed roles
Get-WindowsFeature | Where-Object { $_.InstallState -eq 'Installed' } |
Select-Object Name, DisplayName
# View running services
Get-Service | Where-Object { $_.Status -eq 'Running' } |
Select-Object Name, DisplayName, StartType |
Sort-Object DisplayName
Bulk Server Operations
# Perform operations across multiple servers
# Update multiple servers
$servers = "server1", "server2", "server3"
foreach ($server in $servers) {
Invoke-Command -ComputerName $server -ScriptBlock {
Install-WindowsUpdate -AcceptAll -AutoReboot
}
}
# Deploy configuration to multiple servers
$configScript = @"
# Install common features
Install-WindowsFeature -Name RSAT-AD-PowerShell, RSAT-DNS-Server, RSAT-DHCP
# Configure time sync
w32tm /config /manualpeerlist:"time.windows.com" /syncfromflags:manual /update
Restart-Service w32time
# Set power plan
powercfg /setactive 8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c # High performance
"@
Invoke-Command -ComputerName $servers -ScriptBlock { param($script) Invoke-Expression $script } -ArgumentList $configScript
Azure Integration
Azure Hybrid Services Registration
# Register Windows Admin Center with Azure
# In WAC: Settings → Azure → Register
# Or use PowerShell
Install-Module -Name Az -AllowClobber -Force
Connect-AzAccount
# Register gateway
$resourceGroup = "RG-Management"
$location = "East US"
$gatewayName = "WAC-Gateway"
# Create resource group if needed
New-AzResourceGroup -Name $resourceGroup -Location $location
# Register Windows Admin Center
# This creates Azure AD app registration for authentication
Azure Monitor Integration
# Enable Azure Monitor for servers
# Install Log Analytics agent on managed servers
$workspaceId = "YOUR_WORKSPACE_ID"
$workspaceKey = "YOUR_WORKSPACE_KEY"
$servers = "server1", "server2", "server3"
foreach ($server in $servers) {
Invoke-Command -ComputerName $server -ScriptBlock {
param($wsId, $wsKey)
# Download agent
$agentUrl = "https://go.microsoft.com/fwlink/?LinkId=828603"
$agentPath = "$env:TEMP\MMASetup-AMD64.exe"
Invoke-WebRequest -Uri $agentUrl -OutFile $agentPath
# Install agent
Start-Process -FilePath $agentPath -ArgumentList "/C:setup.exe /qn NOAPM=1 ADD_OPINSIGHTS_WORKSPACE=1 OPINSIGHTS_WORKSPACE_ID=$wsId OPINSIGHTS_WORKSPACE_KEY=$wsKey AcceptEndUserLicenseAgreement=1" -Wait
} -ArgumentList $workspaceId, $workspaceKey
}
# Configure data collection in Azure Monitor
# Collect performance counters, Windows events, Syslog, IIS logs
Azure Backup Configuration
# Configure Azure Backup from Windows Admin Center
# Server connection → Azure Backup
# Or use PowerShell
$vaultName = "RSV-Backup"
$resourceGroup = "RG-Backup"
$location = "East US"
# Create Recovery Services vault
New-AzRecoveryServicesVault -Name $vaultName -ResourceGroupName $resourceGroup -Location $location
# Get vault
$vault = Get-AzRecoveryServicesVault -ResourceGroupName $resourceGroup -Name $vaultName
Set-AzRecoveryServicesVaultContext -Vault $vault
# Download agent on server (MARS agent)
# Windows Admin Center → Server → Azure Backup → Configure backup
# Follow wizard to register server and create backup policy
Azure File Sync
# Deploy Azure File Sync from Windows Admin Center
# Server connection → Azure File Sync
# Or use PowerShell
$storageSyncServiceName = "StorageSync01"
$resourceGroup = "RG-Storage"
# Create Storage Sync Service
New-AzStorageSyncService -ResourceGroupName $resourceGroup `
-Name $storageSyncServiceName `
-Location "East US"
# Install Azure File Sync agent on server
# Download from: https://go.microsoft.com/fwlink/?linkid=858257
Invoke-Command -ComputerName "fileserver01" -ScriptBlock {
# Install agent
Start-Process -FilePath "C:\Temp\StorageSyncAgent.msi" -ArgumentList "/qn" -Wait
# Import module
Import-Module "C:\Program Files\Azure\StorageSyncAgent\StorageSync.Management.ServerCmdlets.dll"
}
# Register server
Register-AzStorageSyncServer -ResourceGroupName $resourceGroup `
-StorageSyncServiceName $storageSyncServiceName
Azure Update Management
# Enable Azure Update Management
# Windows Admin Center → Settings → Azure → Update Management
# Configure update schedules in Azure portal
# Automation Account → Update Management → Schedule update deployment
# View update compliance
Get-AzAutomationSoftwareUpdateConfiguration `
-ResourceGroupName "RG-Automation" `
-AutomationAccountName "Automation01"
# View update deployments
Get-AzAutomationSoftwareUpdateRun `
-ResourceGroupName "RG-Automation" `
-AutomationAccountName "Automation01"
Extension Ecosystem
Installing Extensions
# Install extensions via Windows Admin Center UI:
# Settings → Extensions → Available extensions
# Popular extensions:
# - Active Directory: Domain controller management
# - DHCP: DHCP server management
# - DNS: DNS server management
# - Storage Replica: Storage Replica management
# - System Insights: Predictive analytics
# - Security (Azure): Security Center integration
# View installed extensions
Get-ItemProperty "HKLM:\SOFTWARE\Microsoft\ServerManagementGateway\Extensions\*" |
Select-Object PSChildName, Version
Developing Custom Extensions
# Windows Admin Center SDK for custom extensions
# https://aka.ms/wacsdk
# Install Node.js and npm
# Install Windows Admin Center CLI
npm install -g windows-admin-center-cli
# Create new extension
wac create --company Contoso --tool CustomTool
# Build extension
cd CustomTool
npm install
npm run build
# Package extension
npm run package
# Upload to Windows Admin Center
# Settings → Extensions → Sideload extension → Upload .nupkg file
Remote Management Capabilities
Browser-Based Access
# Windows Admin Center accessible from any device with web browser:
# - Windows (Chrome, Edge, Firefox)
# - macOS (Chrome, Safari, Firefox)
# - Linux (Chrome, Firefox)
# - iOS/Android (mobile browsers with limited functionality)
# Configure external access via reverse proxy or Azure AD Application Proxy
# Example: Configure IIS reverse proxy
Install-WindowsFeature Web-Server, Web-WebSockets, Web-Asp-Net45 -IncludeManagementTools
# Install URL Rewrite and Application Request Routing modules
# Configure reverse proxy rules in IIS for external access
Certificate Management
# Use trusted SSL certificate for production
# Generate CSR
$cert = New-SelfSignedCertificate -DnsName "wac.contoso.com" `
-CertStoreLocation "cert:\LocalMachine\My" `
-KeyLength 2048 `
-KeyExportPolicy Exportable `
-NotAfter (Get-Date).AddYears(2)
# Export CSR (submit to CA)
$csrPath = "C:\Certs\wac-csr.txt"
certreq -new -f -q "$env:TEMP\wac-request.inf" $csrPath
# After receiving certificate from CA, import and bind to Windows Admin Center
$pfxPath = "C:\Certs\wac.contoso.com.pfx"
$pfxPassword = ConvertTo-SecureString "P@ssw0rd123!" -AsPlainText -Force
$cert = Import-PfxCertificate -FilePath $pfxPath `
-CertStoreLocation "Cert:\LocalMachine\My" `
-Password $pfxPassword
# Update Windows Admin Center to use new certificate
# Settings → Gateway → Use this certificate → Select certificate
Multi-Server Sessions
# Windows Admin Center supports multiple concurrent server connections
# Open multiple browser tabs for different servers
# Each tab maintains independent session
# Or use Server Manager extension for consolidated view of multiple servers
Hybrid Cloud Scenarios
Azure Arc-Enabled Servers
# Onboard on-premises servers to Azure Arc
# Install Azure Arc agent
$tenant = "YOUR_TENANT_ID"
$subscription = "YOUR_SUBSCRIPTION_ID"
$resourceGroup = "RG-HybridServers"
$location = "eastus"
$servers = "server1", "server2", "server3"
foreach ($server in $servers) {
Invoke-Command -ComputerName $server -ScriptBlock {
param($tid, $sid, $rg, $loc)
# Download Arc agent
Invoke-WebRequest -Uri "https://aka.ms/AzureConnectedMachineAgent" -OutFile "$env:TEMP\AzureConnectedMachineAgent.msi"
# Install agent
msiexec /i "$env:TEMP\AzureConnectedMachineAgent.msi" /qn
# Connect to Azure
& "$env:ProgramW6432\AzureConnectedMachineAgent\azcmagent.exe" connect `
--tenant-id $tid `
--subscription-id $sid `
--resource-group $rg `
--location $loc `
--cloud "AzureCloud"
} -ArgumentList $tenant, $subscription, $resourceGroup, $location
}
# Manage Arc-enabled servers from Windows Admin Center
# Azure Arc extension provides unified management
Unified Monitoring Across Environments
# Use Azure Monitor to monitor both Azure and on-premises servers
# Query logs across all servers
$workspaceId = "YOUR_WORKSPACE_ID"
# Example query using Azure Monitor Logs
$query = @"
Perf
| where TimeGenerated > ago(1h)
| where ObjectName == "Processor" and CounterName == "% Processor Time"
| summarize AvgCPU = avg(CounterValue) by Computer
| order by AvgCPU desc
"@
# Execute query
Invoke-AzOperationalInsightsQuery -WorkspaceId $workspaceId -Query $query
Disaster Recovery with Azure Site Recovery
# Configure Azure Site Recovery for on-premises VMs
# From Windows Admin Center: Server → Azure Site Recovery
# Or use PowerShell
$vaultName = "RSV-DR"
$resourceGroup = "RG-DR"
# Create Recovery Services vault
New-AzRecoveryServicesVault -Name $vaultName -ResourceGroupName $resourceGroup -Location "West US"
# Configure replication for Hyper-V VMs to Azure
# Requires Hyper-V hosts registered with vault
Key Takeaways
- Windows Admin Center provides browser-based server management
- Gateway mode recommended for production environments
- Built-in tools cover all common administration tasks
- Azure integration enables hybrid cloud scenarios
- Extension ecosystem extends functionality
- Remote management works from any device with browser
- Azure Arc brings Azure services to on-premises servers
- Unified monitoring across hybrid environments
Next Steps
- Install Windows Admin Center in gateway mode
- Connect servers to management gateway
- Configure Azure integration for hybrid services
- Enable Azure Monitor for unified monitoring
- Install useful extensions for additional capabilities
- Configure SSL certificate for secure access
- Onboard servers to Azure Arc for unified management
Additional Resources
Manage. Monitor. Integrate. Simplify.