Onderstaand Powershell script vereist de aanwezigheid van ActiveRoles Management Shell for Active Directory (Quest Software, freeware). Deze is eenvoudig te installeren en er is geen herstart vereist.
Het .csv bestand moet er als volgt uitzien.
naam,voornaam,achternaam,gebruikersnaam,wachtwoord,ou,upn
Piet Bos,Piet,Bos,bos,Bos$1206,"OU=Productie,DC=domein,DC=extensie",bos@domein.nlAls eerste moeten de Quest spullen geladen worden.
Add-PSSnapin Quest.ActiveRoles.ADManagement;Vervolgens moet je even verbinding maken met het domein.
Connect-QADService -Service "domein.extensie";Nu kunnen we het .csv bestand inladen met de gebruikers.
$Gebruikers = Import-Csv "C:\gebruikers.csv";Dan nu het echte werk: met een loop door het .csv bestand gaan en de gebruikers aanmaken.
foreach ($Gebruiker in $Gebruikers) { New-QADUser -Name $Gebruiker.naam -ParentContainer $Gebruiker.ou -FirstName $Gebruiker.voornaam -LastName $Gebruiker.achternaam -UserPassword $Gebruiker.wachtwoord -SamAccountName $Gebruiker.gebruikersnaam -UserPrincipalName $Gebruiker.upn -DisplayName $Gebruiker.naam -Email $Gebruiker.upn; }Neem onderstaande op binnen de foreach loop als je de nieuwe gebruikers direct lid wilt maken van een groep.
Add-QADGroupMember -Identity groepnaam -Member $Gebruiker.upn;Het vinkje “Wachtwoord verloopt nooit” aanzetten.
Set-QADUser -Identity $Gebruiker.upn -PasswordNeverExpires $true;Vinkje “Gebruiker kan wachtwoord niet wijzigen” aanzetten. Let op dat als de server in het Nederlands is geinstalleerd, het stukje ‘-Account SELF,Everyone’ moet worden gewijzigd in ‘-Account ZELF,Iedereen’.
Get-QADUser $Gebruiker.upn | Add-QADPermission -Account SELF,Everyone -ExtendedRight "User-Change-Password" -Deny -ApplyTo ThisObjectOnly;Het nieuwe account gelijk uitschakelen.
Disable-QADUser -identity $Gebruiker.upn;Dat alles gecombineerd ziet er dan zo uit.
Add-PSSnapin Quest.ActiveRoles.ADManagement; Connect-QADService -Service "domein.extensie"; $Gebruikers = Import-Csv "C:\gebruikers.csv"; foreach ($Gebruiker in $Gebruikers) { New-QADUser -Name $Gebruiker.naam -ParentContainer $Gebruiker.ou -FirstName $Gebruiker.voornaam -LastName $Gebruiker.achternaam -UserPassword $Gebruiker.wachtwoord -SamAccountName $Gebruiker.gebruikersnaam -UserPrincipalName $Gebruiker.upn -DisplayName $Gebruiker.naam -Email $Gebruiker.upn; Add-QADGroupMember -Identity groepsnaam -Member $Gebruiker.upn; Set-QADUser -Identity $Gebruiker.upn -PasswordNeverExpires $true; Get-QADUser $Gebruiker.upn | Add-QADPermission -Account SELF,Everyone -ExtendedRight "User-Change-Password" -Deny -ApplyTo ThisObjectOnly; Disable-QADUser -identity $Gebruiker.upn; }Je kunt het script als 1 regel plakken in een Powershell venster. Wil je het script uitvoeren vanuit een .ps1 bestand dan moet je rekening houden met de Powershell Execution Policy, zie dit artikel.


Leave a reply