Userhomes loeschen oder verschieben oder beides

Powershell AD – Userhomes löschen oder verschieben oder beides

Move oder delete user homes

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.

Powershell AD – Userhomes löschen oder verschieben oder beides

Hier ein Beispiel-Skript:

# 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