RousselTMLEARNING

Systems & Linux

Windows administration best practices

The production checklist for Windows and Windows Server: installation, identity and Active Directory, GPOs, updates, security, storage and backup, monitoring and documentation.

1. Install and configure #

Start on the right foot.

Checklist #

  • Supported Windows Server version, Server Core by default, minimal roles.
  • Consistent naming (SRV-ROLE-NN), static IP, internal DNS, time synced on the PDC emulator.
  • Configuration described as code: PowerShell scripts, DSC, or Ansible for Windows, versioned in Git.
  • Remote administration (Windows Admin Center, PowerShell Remoting) from a dedicated admin workstation.

2. Identity and access #

Protecting Active Directory protects everything else.

The tier model #

Tier model
  • At least two domain controllers, backed up (system state) and monitored (dcdiag, repadmin).
  • Named admin accounts separate from mailbox accounts, “Domain Admins” almost empty, MFA for privileged access.
  • Windows LAPS on all servers and PCs, gMSAs for services, AD Recycle Bin enabled.
  • Rights granted to groups (AGDLP), delegation on OUs rather than domain admin rights.
  • Quarterly review: inactive accounts, privileged group members, PingCastle score.

3. Operate #

Day to day.

Updates, security, backup #

AreaPracticeCheck
Updatesmonthly rings after Patch TuesdayGet-HotFix, WSUS or Azure Update Manager report
SecurityMicrosoft baseline, SMBv1 absent, BitLocker, Defender up to dateGet-MpComputerStatus, manage-bde -status
GPOsone GPO per topic, pilot OU, GPO backupsgpresult /h, Backup-GPO -All
Storagemirror for live data, alerts at 80%Get-Volume, Get-VirtualDisk
Backup3-2-1 with an immutable copy, monthly restore testwbadmin get versions
Logslarger sizes, advanced audit, centralizationGet-WinEvent, SIEM
MonitoringCPU, memory, disk, services, certificates, AD replicationPrometheus windows_exporter, Zabbix, Azure Monitor, Dynatrace
Good practice: Document each server (role, owner, dependencies, restart and restore procedure) and each change. A written, tested procedure beats one person’s expertise.

Commands to know #

ActionCommand
Quick server checkGet-ComputerInfo -Property OsName, OsUptime, CsTotalPhysicalMemory
Stopped automatic servicesGet-Service | Where-Object { $_.StartType -eq 'Automatic' -and $_.Status -ne 'Running' }
Disk spaceGet-Volume | Where-Object DriveLetter
AD healthdcdiag /e /q ; repadmin /replsummary
Inactive accountsSearch-ADAccount -AccountInactive -TimeSpan 90.00:00:00
Certificates expiring soonGet-ChildItem Cert:\LocalMachine\My | Where-Object NotAfter -lt (Get-Date).AddDays(30)
Recent errorsGet-WinEvent -FilterHashtable @{LogName='System'; Level=2; StartTime=(Get-Date).AddDays(-1)}

Related articles

Windows and Windows Server: versions, editions and architecture

Discover the Windows ecosystem for administrators: Windows 11 and Windows Server 2025, editions and lifecycle…

PowerShell for Windows administrators

Master PowerShell to administer Windows: cmdlets and help, object pipeline, filters and formats, variables, s…

Users, groups, NTFS permissions and SMB shares

Manage local accounts and groups, understand UAC, apply NTFS permissions with inheritance, create SMB shares …

Keep learning

Support us

♥ SUPPORT US

Support RousselTM Learning

Courses, articles, labs and certificates stay free with no intrusive ads. A voluntary contribution, of any amount you choose, pays for hosting, lab environments and new content.

Contribute with PayPal Any amount · card or PayPal accountLearn more
QR code PayPal
Or scan this QR code with your phone

Thank you, every contribution counts!