PowerShell Active Directory Commands
This guide covers common Active Directory management tasks using the RSAT ActiveDirectory module.
Parent Topic: PowerShell Comprehensive Guide
Prerequisites
Ensure the RSAT tools are installed:
Get-WindowsCapability -Name RSAT.ActiveDirectory.DS-LDS.Tools~~~~0.0.1.0 -Online | Add-WindowsCapability -Online
User Management
Find a User
# Basic search
Get-ADUser -Identity "jdoe"
# Filter search
Get-ADUser -Filter "SamAccountName -eq 'jdoe'" -Properties * | Select-Object Name, EmailAddress, LastLogonDate
Create a User
$password = Read-Host -AsSecureString "Enter Password"
New-ADUser -Name "Jane Doe" `
-SamAccountName "jdoe" `
-UserPrincipalName "jdoe@domain.com" `
-AccountPassword $password `
-Enabled $true `
-Path "OU=Users,DC=domain,DC=com"
Modify a User
Set-ADUser -Identity "jdoe" -Description "HR Manager" -Office "Building A"
Unlock a User
Unlock-ADAccount -Identity "jdoe"
Group Management
Get Group Members
Get-ADGroupMember -Identity "Domain Admins" | Select-Object Name, SamAccountName, distinquishedName
Add User to Group
Add-ADGroupMember -Identity "VPN Users" -Members "jdoe"
Remove User from Group
Remove-ADGroupMember -Identity "VPN Users" -Members "jdoe" -Confirm:$false
Computer Management
Find Computers
# Find all Windows Servers
Get-ADComputer -Filter "OperatingSystem -like '*Server*'" -Properties OperatingSystem
Move Computer to OU
Move-ADObject -Identity "CN=SERVER01,CN=Computers,DC=domain,DC=com" -TargetPath "OU=Servers,DC=domain,DC=com"
Useful One-Liners
Find Locked Out Users
Search-ADAccount -LockedOut | Select-Object Name, SamAccountName
Find Inactive Computers (90 Days)
$date = (Get-Date).AddDays(-90)
Get-ADComputer -Filter {LastLogonDate -lt $date} -Properties LastLogonDate | Select-Object Name, LastLogonDate
Return to PowerShell Comprehensive Guide