Powershell AD – Userhomes löschen oder verschieben oder beides

In dieser Anleitung zeige ich einige selbst erstellte Skripte, mit denen ihr die Userhomes von deaktivierten Benutzern verschieben oder löschen könnt. Entweder über einen Abgleich von Benutzern und Ordnern, ausgelesen über das Feld Basisordner oder einer Textdatei. Es ist für jeden etwas dabei.

Beispiel:

# Der Windows Papst www.der-windows-papst.de 2017
$homeDrive = “\\dc01\Userhomes$\”
$moveto = “\\dc01\Move$\”

# Ordner einlesen
$folders = Get-ChildItem $homeDrive | Select -ExpandProperty Name

# Aktive User
$activeUsers =  Get-ADUser -Filter {Enabled -eq $true} | Select -ExpandProperty SamAccountName

# Vergleiche User und Ordner
$diff = Compare-Object -ReferenceObject $activeUsers -DifferenceObject $folders | ? {$_.SideIndicator -eq “=>”} | Select -ExpandProperty InputObject

# Schreibe Log
$diff | Out-File C:\temp\move.txt

# Verschiebe
Get-Content C:\temp\move.txt |
Foreach-Object  {
move-item -path “$homeDrive\$_” -destination “$moveto\$_” -Force -whatif
Write-Host Verschiebe vorhandenes Userhome $_ -ForegroundColor Green
}

Userhomes löschen verschieben