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 (1)

Collapse
 
techthatworks profile image
Thomas

Hi David.
This is very helpful. I work with Azure on a daily basic and this list can for sure make my work easier.