DEV Community

David
David

Posted on • Originally published at azure-noob.com

50 Windows Commands Every Azure VM Admin Needs (PowerShell + Active Directory)

Why This List Exists

Azure Portal is great until:

  • RDP is slow
  • You need to fix networking
  • Active Directory breaks
  • You're troubleshooting 50 VMs

Then you need actual Windows commands.

Network Troubleshooting

Check IP Configuration

Get-NetIPAddress | Format-Table InterfaceAlias, IPAddress, PrefixLength
Enter fullscreen mode Exit fullscreen mode

Test DNS Resolution

Resolve-DnsName azure-noob.com -Server 8.8.8.8
Enter fullscreen mode Exit fullscreen mode

Trace Route to Endpoint

tracert 10.0.1.4
Enter fullscreen mode Exit fullscreen mode

Check Open Ports

Test-NetConnection -ComputerName 10.0.1.4 -Port 443
Enter fullscreen mode Exit fullscreen mode

Show Routing Table

route print
Enter fullscreen mode Exit fullscreen mode

Flush DNS Cache

ipconfig /flushdns
Enter fullscreen mode Exit fullscreen mode

Show Active Connections

netstat -ano | findstr ESTABLISHED
Enter fullscreen mode Exit fullscreen mode

Active Directory Commands

Join Domain

Add-Computer -DomainName contoso.com -Credential (Get-Credential) -Restart
Enter fullscreen mode Exit fullscreen mode

Verify Domain Join

nltest /dsgetdc:contoso.com
Enter fullscreen mode Exit fullscreen mode

Check AD Replication

repadmin /replsummary
Enter fullscreen mode Exit fullscreen mode

Find Domain Controllers

Get-ADDomainController -Filter * | Select Name, IPv4Address
Enter fullscreen mode Exit fullscreen mode

Reset Computer Account

Reset-ComputerMachinePassword -Server DC01 -Credential (Get-Credential)
Enter fullscreen mode Exit fullscreen mode

Test Domain Trust

nltest /sc_query:contoso.com
Enter fullscreen mode Exit fullscreen mode

Disk Management

List All Disks

Get-Disk | Format-Table Number, FriendlyName, Size, PartitionStyle
Enter fullscreen mode Exit fullscreen mode

Initialize New Disk

Initialize-Disk -Number 2 -PartitionStyle GPT
Enter fullscreen mode Exit fullscreen mode

Create New Partition

New-Partition -DiskNumber 2 -UseMaximumSize -DriveLetter F
Format-Volume -DriveLetter F -FileSystem NTFS -NewFileSystemLabel "Data"
Enter fullscreen mode Exit fullscreen mode

Extend Volume

Resize-Partition -DriveLetter C -Size (Get-PartitionSupportedSize -DriveLetter C).SizeMax
Enter fullscreen mode Exit fullscreen mode

Check Disk Health

Get-PhysicalDisk | Select FriendlyName, HealthStatus, OperationalStatus
Enter fullscreen mode Exit fullscreen mode

Service Management

List All Services

Get-Service | Where-Object {$_.Status -eq "Running"} | Format-Table Name, DisplayName
Enter fullscreen mode Exit fullscreen mode

Start/Stop Service

Start-Service -Name "W32Time"
Stop-Service -Name "Spooler"
Enter fullscreen mode Exit fullscreen mode

Set Service Startup Type

Set-Service -Name "wuauserv" -StartupType Manual
Enter fullscreen mode Exit fullscreen mode

Check Service Dependencies

Get-Service -Name "W32Time" | Select -ExpandProperty DependentServices
Enter fullscreen mode Exit fullscreen mode

Performance & Monitoring

Check CPU Usage

Get-Counter '\Processor(_Total)\% Processor Time' -SampleInterval 1 -MaxSamples 5
Enter fullscreen mode Exit fullscreen mode

Check Memory Usage

Get-WmiObject Win32_OperatingSystem | 
    Select @{N="FreeGB";E={[math]::Round($_.FreePhysicalMemory/1MB,2)}}
Enter fullscreen mode Exit fullscreen mode

Show Top CPU Processes

Get-Process | Sort-Object CPU -Descending | Select -First 10 Name, CPU, PM
Enter fullscreen mode Exit fullscreen mode

Check Disk I/O

Get-Counter '\PhysicalDisk(_Total)\Disk Reads/sec','\PhysicalDisk(_Total)\Disk Writes/sec'
Enter fullscreen mode Exit fullscreen mode

Show Uptime

(Get-Date) - (gcim Win32_OperatingSystem).LastBootUpTime
Enter fullscreen mode Exit fullscreen mode

Windows Updates

Check for Updates

Get-WindowsUpdate
Enter fullscreen mode Exit fullscreen mode

Install Updates

Install-WindowsUpdate -AcceptAll -AutoReboot
Enter fullscreen mode Exit fullscreen mode

Show Update History

Get-WmiObject -Class Win32_QuickFixEngineering | Select HotFixID, InstalledOn
Enter fullscreen mode Exit fullscreen mode

User & Permission Management

List Local Admins

Get-LocalGroupMember -Group "Administrators"
Enter fullscreen mode Exit fullscreen mode

Add User to Local Admin

Add-LocalGroupMember -Group "Administrators" -Member "CONTOSO\john.doe"
Enter fullscreen mode Exit fullscreen mode

Show Logged-in Users

query user
Enter fullscreen mode Exit fullscreen mode

Force Logoff User

logoff 2 /server:localhost
Enter fullscreen mode Exit fullscreen mode

Check File Permissions

Get-Acl C:\Important\File.txt | Format-List
Enter fullscreen mode Exit fullscreen mode

Firewall Management

Show Firewall Rules

Get-NetFirewallRule | Where Enabled -eq True | Select Name, DisplayName
Enter fullscreen mode Exit fullscreen mode

Create Firewall Rule

New-NetFirewallRule -DisplayName "Allow SQL" -Direction Inbound -Protocol TCP -LocalPort 1433 -Action Allow
Enter fullscreen mode Exit fullscreen mode

Disable Firewall (Testing Only!)

Set-NetFirewallProfile -Profile Domain,Public,Private -Enabled False
Enter fullscreen mode Exit fullscreen mode

Event Log Analysis

Show Recent Errors

Get-EventLog -LogName System -EntryType Error -Newest 20
Enter fullscreen mode Exit fullscreen mode

Search Event Logs

Get-EventLog -LogName Application | Where-Object {$_.Message -like "*SQL*"}
Enter fullscreen mode Exit fullscreen mode

Show Security Events

Get-EventLog -LogName Security -InstanceId 4624 -Newest 10
Enter fullscreen mode Exit fullscreen mode

Azure-Specific Commands

Check Azure VM Agent

Get-Service WindowsAzureGuestAgent
Enter fullscreen mode Exit fullscreen mode

Test Azure Metadata Service

Invoke-RestMethod -Headers @{"Metadata"="true"} -Method GET -Uri "http://169.254.169.254/metadata/instance?api-version=2021-02-01"
Enter fullscreen mode Exit fullscreen mode

Show Azure VM Extensions

Get-AzVMExtension -ResourceGroupName "RG-Prod" -VMName "VM-SQL-01"
Enter fullscreen mode Exit fullscreen mode

System Information

Show OS Version

Get-ComputerInfo | Select WindowsProductName, WindowsVersion, OsBuildNumber
Enter fullscreen mode Exit fullscreen mode

Show Installed Programs

Get-WmiObject -Class Win32_Product | Select Name, Version
Enter fullscreen mode Exit fullscreen mode

Check System Drivers

Get-WindowsDriver -Online
Enter fullscreen mode Exit fullscreen mode

Show Environment Variables

set
Enter fullscreen mode Exit fullscreen mode

Quick Fixes

Reset Windows Update

net stop wuauserv
del C:\Windows\SoftwareDistribution\*.* /s /q
net start wuauserv
Enter fullscreen mode Exit fullscreen mode

Clear Temp Files

Remove-Item -Path "$env:TEMP\*" -Recurse -Force -ErrorAction SilentlyContinue
Enter fullscreen mode Exit fullscreen mode

Rebuild Windows Search Index

Get-Service WSearch | Restart-Service
Enter fullscreen mode Exit fullscreen mode

Full Command Reference

Complete command library with parameters, examples, and troubleshooting guides:

👉 50 Windows Commands Complete Guide


Managing Azure VMs? Bookmark this. The Azure Portal can't do everything—sometimes you need actual Windows commands.

Top comments (0)