scripts/AD_USER_CREATE.ps1 aktualisiert
This commit is contained in:
@@ -6,7 +6,6 @@ if (-not $myPrincipal.IsInRole([System.Security.Principal.WindowsBuiltInRole]::A
|
|||||||
Start-Process powershell -ArgumentList $arguments -Verb runAs
|
Start-Process powershell -ArgumentList $arguments -Verb runAs
|
||||||
Exit
|
Exit
|
||||||
}
|
}
|
||||||
|
|
||||||
Add-Type -AssemblyName System.Windows.Forms
|
Add-Type -AssemblyName System.Windows.Forms
|
||||||
Import-Module ActiveDirectory
|
Import-Module ActiveDirectory
|
||||||
|
|
||||||
@@ -178,13 +177,15 @@ $okButton.Add_Click({
|
|||||||
$password = $masterPassword
|
$password = $masterPassword
|
||||||
}
|
}
|
||||||
|
|
||||||
|
$groupOU = $masterGroupOUComboBox.SelectedItem
|
||||||
|
|
||||||
# Überprüfen, ob notwendige Felder ausgefüllt sind
|
# Überprüfen, ob notwendige Felder ausgefüllt sind
|
||||||
if (-not $firstName -or -not $lastName) {
|
if (-not $firstName -or -not $lastName) {
|
||||||
$missingField = if (-not $firstName) { "Vorname" } elseif (-not $lastName) { "Nachname" }
|
$missingField = if (-not $firstName) { "Vorname" } elseif (-not $lastName) { "Nachname" }
|
||||||
$outputTextBox.AppendText("Fehler bei der Erstellung des Benutzers '$firstName $lastName': $missingField fehlt.`r`n")
|
$outputTextBox.AppendText("Fehler bei der Erstellung des Benutzers '$firstName $lastName': $missingField fehlt.`r`n")
|
||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
|
|
||||||
# Benutzername generieren: erster Buchstabe des Vornamens + Nachname
|
# Benutzername generieren: erster Buchstabe des Vornamens + Nachname
|
||||||
$username = ($firstName.Substring(0, 1) + $lastName).ToLower()
|
$username = ($firstName.Substring(0, 1) + $lastName).ToLower()
|
||||||
|
|
||||||
@@ -199,14 +200,14 @@ $okButton.Add_Click({
|
|||||||
# Benutzer erstellen, falls er nicht existiert
|
# Benutzer erstellen, falls er nicht existiert
|
||||||
try {
|
try {
|
||||||
New-ADUser -Name "$firstName $lastName" `
|
New-ADUser -Name "$firstName $lastName" `
|
||||||
-GivenName "$firstName" `
|
-GivenName "$firstName" `
|
||||||
-Surname "$lastName" `
|
-Surname "$lastName" `
|
||||||
-SamAccountName "$username" `
|
-SamAccountName "$username" `
|
||||||
-UserPrincipalName "$email" `
|
-UserPrincipalName "$email" `
|
||||||
-AccountPassword (ConvertTo-SecureString $password -AsPlainText -Force) `
|
-AccountPassword (ConvertTo-SecureString $password -AsPlainText -Force) `
|
||||||
-Enabled $true `
|
-Enabled $true `
|
||||||
-Path "$ou"
|
-Path "$ou"
|
||||||
|
|
||||||
$outputTextBox.SelectionColor = 'Green'
|
$outputTextBox.SelectionColor = 'Green'
|
||||||
$outputTextBox.AppendText("Benutzer $username wurde erfolgreich erstellt.`r`n")
|
$outputTextBox.AppendText("Benutzer $username wurde erfolgreich erstellt.`r`n")
|
||||||
}
|
}
|
||||||
@@ -218,16 +219,17 @@ $okButton.Add_Click({
|
|||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
# Erfolgsnachricht für vorhandenen Benutzer
|
# Erfolgsnachricht für vorhandenen Benutzer
|
||||||
$outputTextBox.SelectionColor = 'Green'
|
$outputTextBox.SelectionColor = 'RED'
|
||||||
$outputTextBox.AppendText("Benutzer $username existiert bereits.`r`n")
|
$outputTextBox.AppendText("Benutzer $username existiert bereits.`r`n")
|
||||||
|
$outputTextBox.AppendText("Fehlerdetails: $_`r`n")
|
||||||
}
|
}
|
||||||
|
|
||||||
# Gruppenzuordnung durchführen, auch wenn der Benutzer schon existiert
|
# Gruppenzuordnung durchführen, auch wenn der Benutzer schon existiert
|
||||||
if ($globalGroup) {
|
if ($globalGroup) {
|
||||||
# Gruppen-OU immer auf die Master-OU setzen
|
# Gruppen-OU immer auf die Master-OU setzen
|
||||||
$groupOU = $masterGroupOUComboBox.SelectedItem
|
|
||||||
try {
|
try {
|
||||||
# Überprüfen, ob die Gruppe existiert
|
# Überprüfen, ob die Gruppe existiert
|
||||||
|
$groupOU = $masterGroupOUComboBox.SelectedItem
|
||||||
$group = Get-ADGroup -Filter { Name -eq $globalGroup }
|
$group = Get-ADGroup -Filter { Name -eq $globalGroup }
|
||||||
try {
|
try {
|
||||||
# Gruppe erstellen, falls sie nicht existiert
|
# Gruppe erstellen, falls sie nicht existiert
|
||||||
@@ -236,7 +238,7 @@ $okButton.Add_Click({
|
|||||||
-GroupScope Global `
|
-GroupScope Global `
|
||||||
-Path $groupOU `
|
-Path $groupOU `
|
||||||
-Description "Globale Gruppe für $groupName"
|
-Description "Globale Gruppe für $groupName"
|
||||||
|
|
||||||
# Erfolgsnachricht
|
# Erfolgsnachricht
|
||||||
$outputTextBox.SelectionColor = 'Green'
|
$outputTextBox.SelectionColor = 'Green'
|
||||||
$outputTextBox.AppendText("Globale Gruppe '$groupName' wurde erfolgreich erstellt.`r`n")
|
$outputTextBox.AppendText("Globale Gruppe '$groupName' wurde erfolgreich erstellt.`r`n")
|
||||||
@@ -275,7 +277,7 @@ function Get-EmailAddress {
|
|||||||
param (
|
param (
|
||||||
[string]$username
|
[string]$username
|
||||||
)
|
)
|
||||||
|
|
||||||
return "$username@$domain"
|
return "$username@$domain"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user