From baa75515c166e24c196dbf68191efe795cec4525 Mon Sep 17 00:00:00 2001 From: buiaca Date: Mon, 3 Aug 2026 06:39:24 +0200 Subject: [PATCH] Add creatpw.ps1 function: ChangePasswordAtLogon parameter --- Hermes/Funktionen/creatpw.ps1 | 39 +++++++++++++++++++++++++++++++++++ 1 file changed, 39 insertions(+) create mode 100644 Hermes/Funktionen/creatpw.ps1 diff --git a/Hermes/Funktionen/creatpw.ps1 b/Hermes/Funktionen/creatpw.ps1 new file mode 100644 index 0000000..89a02a9 --- /dev/null +++ b/Hermes/Funktionen/creatpw.ps1 @@ -0,0 +1,39 @@ +function creatpw { + param( + [string]$Vorname, + [string]$Nachname, + [string]$user, + [bool]$ChangePasswordAtLogon + ) + + # Umlaute ersetzen + $Vorname = $Vorname.Replace('ö','oe').Replace('ä','ae').Replace('ü','ue').Replace('ß','ss').Replace('Ö','Oe').Replace('Ü','Ue').Replace('Ä','Ae') + $Nachname = $Nachname.Replace('ö','oe').Replace('ä','ae').Replace('ü','ue').Replace('ß','ss').Replace('Ö','Oe').Replace('Ü','Ue').Replace('Ä','Ae') + + # Groß-/Kleinschreibung + $Vorname = $Vorname.ToUpper() + $Nachname = $Nachname.ToUpper() + $VornameK = $Vorname.ToLower() + $NachnameK = $Nachname.ToLower() + + # Code-Zeichen + $CodeVorname = $Vorname[0] + $VornameK[-1] + $CodeNachname = $Nachname[0] + $NachnameK[-1] + + # Länge begrenzen + $Vornameanzahl = $Vorname.Length + $Nachnameanzahl = $Nachname.Length + if ($Vornameanzahl -ge 9) { $Vornameanzahl = 9 } + if ($Nachnameanzahl -ge 9) { $Nachnameanzahl = 9 } + + # Passwort zusammenstellen + $Codename = "##*" + $CodeVorname + $CodeNachname + $Vornameanzahl + $Nachnameanzahl + "*##" + + # Passwort setzen und Account aktivieren + Set-ADAccountPassword -Identity $user -NewPassword (ConvertTo-SecureString -AsPlainText $Codename -Force) -Reset + Enable-ADAccount -Identity $user + Set-ADUser -Identity $user -ChangePasswordAtLogon:$ChangePasswordAtLogon + + Write-Host "$user - $Vorname - $Nachname : $Codename ( Kennwort ist im Zwischenspeicher. )" + Set-Clipboard $Codename +} \ No newline at end of file