---
title: PowerShell Active Directory Commands
tags: [powershell, active-directory, ad, windows, administration]
---

# PowerShell Active Directory Commands

This guide covers common Active Directory management tasks using the RSAT `ActiveDirectory` module.

**Parent Topic:** [[programming/PowerShell/PowerShell|PowerShell Comprehensive Guide]]

## Prerequisites
Ensure the RSAT tools are installed:
```powershell
Get-WindowsCapability -Name RSAT.ActiveDirectory.DS-LDS.Tools~~~~0.0.1.0 -Online | Add-WindowsCapability -Online
```

## User Management

### Find a User
```powershell
# Basic search
Get-ADUser -Identity "jdoe"

# Filter search
Get-ADUser -Filter "SamAccountName -eq 'jdoe'" -Properties * | Select-Object Name, EmailAddress, LastLogonDate
```

### Create a User
```powershell
$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
```powershell
Set-ADUser -Identity "jdoe" -Description "HR Manager" -Office "Building A"
```

### Unlock a User
```powershell
Unlock-ADAccount -Identity "jdoe"
```

## Group Management

### Get Group Members
```powershell
Get-ADGroupMember -Identity "Domain Admins" | Select-Object Name, SamAccountName, distinquishedName
```

### Add User to Group
```powershell
Add-ADGroupMember -Identity "VPN Users" -Members "jdoe"
```

### Remove User from Group
```powershell
Remove-ADGroupMember -Identity "VPN Users" -Members "jdoe" -Confirm:$false
```

## Computer Management

### Find Computers
```powershell
# Find all Windows Servers
Get-ADComputer -Filter "OperatingSystem -like '*Server*'" -Properties OperatingSystem
```

### Move Computer to OU
```powershell
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
```powershell
Search-ADAccount -LockedOut | Select-Object Name, SamAccountName
```

### Find Inactive Computers (90 Days)
```powershell
$date = (Get-Date).AddDays(-90)
Get-ADComputer -Filter {LastLogonDate -lt $date} -Properties LastLogonDate | Select-Object Name, LastLogonDate
```

---
Return to [[programming/PowerShell/PowerShell|PowerShell Comprehensive Guide]]