scripts/AD_AIO.ps1 aktualisiert
This commit is contained in:
@@ -202,7 +202,7 @@ function Create-User {
|
||||
|
||||
$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) {
|
||||
$missingField = if (-not $firstName) { "Vorname" } elseif (-not $lastName) { "Nachname" }
|
||||
$outputTextBox.AppendText("Fehler bei der Erstellung des Benutzers '$firstName $lastName': $missingField fehlt.`r`n")
|
||||
@@ -219,44 +219,69 @@ function Create-User {
|
||||
try {
|
||||
# Versuchen, den Benutzer abzurufen (auch wenn er bereits existiert)
|
||||
$user = Get-ADUser -Filter { SamAccountName -eq $username }
|
||||
# Versuchen, den Benutzer abzurufen (auch wenn er bereits existiert)
|
||||
$user = Get-ADUser -Filter { SamAccountName -eq $username }
|
||||
|
||||
if (-not $user) {
|
||||
# Benutzer erstellen, falls er nicht existiert
|
||||
try {
|
||||
New-ADUser -Name "$firstName $lastName" `
|
||||
-GivenName "$firstName" `
|
||||
-Surname "$lastName" `
|
||||
-SamAccountName "$username" `
|
||||
-UserPrincipalName "$email" `
|
||||
-AccountPassword (ConvertTo-SecureString $password -AsPlainText -Force) `
|
||||
-Enabled $true `
|
||||
-Path "$ou"
|
||||
# Erstelle die Parameter für New-ADUser
|
||||
$createUserParams = @{
|
||||
Name = "$firstName $lastName"
|
||||
GivenName = "$firstName"
|
||||
Surname = "$lastName"
|
||||
SamAccountName = "$username"
|
||||
UserPrincipalName = "$email"
|
||||
AccountPassword = (ConvertTo-SecureString $password -AsPlainText -Force)
|
||||
Enabled = $true
|
||||
Path = "$ou"
|
||||
}
|
||||
|
||||
# Überprüfen, ob der Jobtitel gesetzt wurde und hinzufügen
|
||||
if ($title) {
|
||||
$createUserParams["Title"] = $title
|
||||
}
|
||||
|
||||
# Benutzer erstellen
|
||||
New-ADUser @createUserParams
|
||||
|
||||
# Erfolgsnachricht
|
||||
$outputTextBox.SelectionColor = 'Green'
|
||||
$outputTextBox.AppendText("Benutzer $username wurde erfolgreich erstellt.`r`n")
|
||||
}
|
||||
catch {
|
||||
# Fehler bei der Benutzererstellung
|
||||
$outputTextBox.SelectionColor = 'Red'
|
||||
$outputTextBox.AppendText("Fehler bei der Erstellung des Benutzers '$firstName $lastName':`r`n")
|
||||
$outputTextBox.AppendText("Fehlerdetails: $_`r`n")
|
||||
}
|
||||
}
|
||||
else {
|
||||
# Benutzer existiert bereits
|
||||
$outputTextBox.SelectionColor = 'Orange'
|
||||
$outputTextBox.AppendText("Benutzer $username existiert bereits.`r`n")
|
||||
}
|
||||
else {
|
||||
# Erfolgsnachricht für vorhandenen Benutzer
|
||||
$outputTextBox.SelectionColor = 'Orange'
|
||||
$outputTextBox.AppendText("Benutzer $username existiert bereits.`r`n")
|
||||
$outputTextBox.AppendText("Fehlerdetails: $_`r`n")
|
||||
}
|
||||
|
||||
# Gruppenzuordnung durchführen, auch wenn der Benutzer schon existiert
|
||||
if ($globalGroup) {
|
||||
# Gruppen-OU immer auf die Master-OU setzen
|
||||
try {
|
||||
# Überprüfen, ob die Gruppe existiert
|
||||
# Überprüfen, ob die Gruppe bereits existiert
|
||||
$groupOU = $masterGroupOUComboBox.SelectedItem
|
||||
$group = Get-ADGroup -Filter { Name -eq $globalGroup } -ErrorAction SilentlyContinue
|
||||
|
||||
# Wenn die Gruppe bereits existiert
|
||||
if ($group) {
|
||||
# Erfolgsnachricht, falls die Gruppe bereits existiert
|
||||
$outputTextBox.SelectionColor = 'Orange'
|
||||
$outputTextBox.AppendText("Gruppe '$globalGroup' existiert bereits.`r`n")
|
||||
} else {
|
||||
# Wenn die Gruppe nicht existiert, wird sie erstellt
|
||||
if (-not $group) {
|
||||
try {
|
||||
$groupName = "GG_" + $globalGroup
|
||||
# Erstelle die Gruppe
|
||||
@@ -274,15 +299,11 @@ function Create-User {
|
||||
$outputTextBox.SelectionColor = 'Red'
|
||||
$outputTextBox.AppendText("Fehler bei der Erstellung der Gruppe '$groupName':`r`n")
|
||||
$outputTextBox.AppendText("Fehlerdetails: $_`r`n")
|
||||
return
|
||||
return # Skript stoppen, wenn die Erstellung der Gruppe fehlschlägt
|
||||
}
|
||||
} else {
|
||||
# Erfolgsnachricht, falls die Gruppe bereits existiert
|
||||
$outputTextBox.SelectionColor = 'Orange'
|
||||
$outputTextBox.AppendText("Gruppe '$globalGroup' existiert bereits.`r`n")
|
||||
}
|
||||
|
||||
# Benutzer zur Gruppe hinzufügen
|
||||
# Benutzer zur Gruppe hinzufügen (nur wenn der Benutzername definiert ist)
|
||||
if ($username) {
|
||||
try {
|
||||
Add-ADGroupMember -Identity $groupName -Members $username
|
||||
@@ -799,7 +820,7 @@ function SMB-RIGHTS {
|
||||
}
|
||||
|
||||
try {
|
||||
# Überprüfen, ob der Ordner existiert
|
||||
# Überprüfen, ob der Ordner existiert
|
||||
if (Test-Path $parentFolder) {
|
||||
# Hole alle Unterordner des aktuellen Ordners
|
||||
$subfolders = Get-ChildItem -Path $parentFolder -Directory -ErrorAction SilentlyContinue
|
||||
|
||||
Reference in New Issue
Block a user