Also see: Bulk change AD passwords.
Generate-RandomPassword Function:
function Generate-RandomPassword {
$consonants = "bcdfghjklmnpqrstvwxyz"
$vowels = "aeiou"
$numbers = 0..9 | ForEach-Object { "$_" }
$specialChar = "!"
# Eerste karakter is een hoofdletter medeklinker
$password = (Get-Random -InputObject $consonants.ToCharArray() -Count 1).ToString().ToUpper()
# Vervolgkarakters zijn afwisselend kleine klinkers en medeklinkers
for ($i = 0; $i -lt 3; $i++) {
$password += (Get-Random -InputObject $vowels.ToCharArray() -Count 1)
$password += (Get-Random -InputObject $consonants.ToCharArray() -Count 1)
}
# Voeg 6 willekeurige cijfers toe
$password += (Get-Random -InputObject $numbers -Count 6) -join ''
# Voeg het speciale teken toe
$password += $specialChar
return $password
}
# Genereer een wachtwoord
$generatedPassword = Generate-RandomPassword
Write-Output $generatedPassword