Archief - Powershell 2.0: password

Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.

pinoken

Legacy Member
Hallo, ik heb een vraag over powershell. Ik heb nu een programma gemaakt dat een acces database inleest en gebruikers aanmaakt op een (virtuele) windows 2003 server. Het script word vanop de server zelf uitgevoerd en het is zo goed als helemaal af. Het enige probleem dat ik nog heb is dat ik ervoor moet zorgen dat de gebruikers hun pass moeten veranderen als zij voor het eerst inloggen.



hier onder vind je een stukje van de code die de gebruiker aanmaakt, ergens hier moet ik er dus (denk ik) voor zorgen dat ik de gebruiker ook de eigenschap geef dat hij zijn pass moet veranderen.
$usersverz = [ADSI] "LDAP://OU= $OuNaam, DC = 6IN06, DC=be"

$Gebruiker = $usersverz.create("user","cn="+ $x.Naam)
$Gebruiker.put("sn", $x.Naam)
$gebruiker.setInfo()
$gebruiker.SetPassword("$x.Naam")
$gebruiker.setinfo()
$gebruiker.userAccountControl = 512
$gebruiker.SetInfo()
$gebruiker.put("userPrincipalName", $x.naam)
$gebruiker.SetInfo()

Een bijkomend vraagje, hoe zorg ik ervoor dat de passwoorden geen cijfers en speciale tekens moet bevatten? Momenteel is dat een vereiste.

.conne.

Legacy Member
Elke gebruiker in AD heeft bepaalde attributen. Voor de optie: "User must change password at next logon." is er ook zo'n atribuut die dat instelt, namelijk "pwdLastSet". Normaliter staat er daar een groot getal dat overeenkomt met een datum + uur.
Om het vinkje "User must change password at next logon." te simuleren, moet je het attribuut "pwdLastSet" op de waarde "-1" zetten.
Dat zal je dus moeten doen met je powershell script. Ik denk ongeveer met dit commando:
$gebruiker.put("pwdLastset",-1)
$gebruiker.setinfo()

Terloops is Quest ActoveRoles Management Shell for AD een zeer handige uitbreiding op PowerShell in combinatie met AD. Dit bevat commando's met meer mogelijkheden.

.conne.

Legacy Member
pinoken zei:
Een bijkomend vraagje, hoe zorg ik ervoor dat de passwoorden geen cijfers en speciale tekens moet bevatten? Momenteel is dat een vereiste.

Dit is een instelling op het niveau van het AD domein, aan de hand van een Group Policy. Standaard zit dit in de "Default Domain Policy" onder Computer Configuration > Policies > Windows Settings > Security Settings > Account Policies > Password Policy. Daar de optie "Password must meet complexity requirements".

De vraag is natuurlijk of je dit mag/kan uitzetten, indien het AD domein van een bedrijf is. Bij de meeste bedrijven is dit toch een vereiste.
Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.
Terug
Bovenaan