logo powershell

Homefolder, profielpad en logon script wijzigen via powershell

Bij server migraties is het handig om snel voor alle gebruikers de home folder te wijzigen wanneer je overgaat naar een nieuwe file server. Het onderstaande script doet dit. Geef enkel de OU op waarop je dit wil toepassen en natuurlijk het homedirectory pad.

Bij het aanmaken destijds was het \\file12\usershares\%username% dat is ingevoerd in de userproperties. Bij het script vertaalt zich dat naar de SamAccountName

Get-ADUser -Filter * -SearchBase "OU=OFFICE,DC=SUSSE,DC=LOCAL" | Foreach-Object{
$sam = $_.SamAccountName
Set-ADuser -Identity $_ -HomeDrive "U:" -HomeDirectory "\\file22\usershares\$sam"
}

Stel dat je in een situatie zit waarbij er meerdere logonscripts bestaan, en je wil dit wijzigen naar 1 standaard script waar iedereen gebruik van maakt:

Get-ADUser -Filter * -SearchBase "OU=OFFICE,DC=SUSSE,DC=LOCAL" | Set-ADUser -scriptpath netlogon.bat

Heb je alles ondergebracht in GPO’s dan haal je met 1 commando de aanmeldscripts weg:

Get-ADUser -Filter * -SearchBase "OU=OFFICE,DC=SUSSE,DC=LOCAL" | Set-ADUser -clear scriptpath

Voor het wijzigen van alle profiel paden:

Get-ADUser -Filter * -SearchBase "OU=OFFICE,DC=SUSSE,DC=LOCAL" | Foreach-Object{
$sam = $_.SamAccountName
Set-ADuser -Identity $_ -Profilepath "\\file22\profiles\$sam"
}

Wil je alle profiel paden verwijderen, zodat men via lokale profielen gaat werken:

Get-ADUser -Filter * -SearchBase "OU=OFFICE,DC=SUSSE,DC=LOCAL" | Set-ADUser -clear profilepath

Password Never Expires uitzetten voor alle gebruikers via powershell.

Get-ADUser -Filter * -SearchBase "OU=OFFICE,DC=SUSSE,DC=LOCAL" | Foreach-Object{
$sam = $_.SamAccountName
Set-ADuser -Identity $_ -PasswordNeverExpires:$FALSE
}