Exit

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.

Markdown
naam,voornaam,achternaam,gebruikersnaam,wachtwoord,ou,upn
Piet Bos,Piet,Bos,bos,Bos$1206,"OU=Productie,DC=domein,DC=extensie",bos@domein.nl

Als eerste moeten de Quest spullen geladen worden.

PowerShell
Add-PSSnapin Quest.ActiveRoles.ADManagement;

Vervolgens moet je even verbinding maken met het domein.

PowerShell
Connect-QADService -Service "domein.extensie";

Nu kunnen we het .csv bestand inladen met de gebruikers.

PowerShell
$Gebruikers = Import-Csv "C:\gebruikers.csv";

Dan nu het echte werk: met een loop door het .csv bestand gaan en de gebruikers aanmaken.

PowerShell
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.

PowerShell
Add-QADGroupMember -Identity groepnaam -Member $Gebruiker.upn;

Het vinkje “Wachtwoord verloopt nooit” aanzetten.

PowerShell
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’.

PowerShell
Get-QADUser $Gebruiker.upn | Add-QADPermission -Account SELF,Everyone -ExtendedRight "User-Change-Password" -Deny -ApplyTo ThisObjectOnly;

Het nieuwe account gelijk uitschakelen.

PowerShell
Disable-QADUser -identity $Gebruiker.upn;

Dat alles gecombineerd ziet er dan zo uit.

PowerShell
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

Je e-mailadres wordt niet gepubliceerd. Vereiste velden zijn gemarkeerd met *

Close
Go top