scripts/AD_AIO.ps1 aktualisiert

This commit is contained in:
2024-11-12 11:38:45 +01:00
parent 86bf77c7c8
commit f624456b1b

View File

@@ -202,7 +202,7 @@ function Create-User {
$groupOU = $masterGroupOUComboBox.SelectedItem $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")
@@ -219,44 +219,69 @@ function Create-User {
try { try {
# Versuchen, den Benutzer abzurufen (auch wenn er bereits existiert) # Versuchen, den Benutzer abzurufen (auch wenn er bereits existiert)
$user = Get-ADUser -Filter { SamAccountName -eq $username } $user = Get-ADUser -Filter { SamAccountName -eq $username }
if (-not $user) { # Versuchen, den Benutzer abzurufen (auch wenn er bereits existiert)
# Benutzer erstellen, falls er nicht existiert $user = Get-ADUser -Filter { SamAccountName -eq $username }
try {
New-ADUser -Name "$firstName $lastName" `
-GivenName "$firstName" `
-Surname "$lastName" `
-SamAccountName "$username" `
-UserPrincipalName "$email" `
-AccountPassword (ConvertTo-SecureString $password -AsPlainText -Force) `
-Enabled $true `
-Path "$ou"
$outputTextBox.SelectionColor = 'Green' if (-not $user) {
$outputTextBox.AppendText("Benutzer $username wurde erfolgreich erstellt.`r`n") # Benutzer erstellen, falls er nicht existiert
} try {
catch { # Erstelle die Parameter für New-ADUser
$outputTextBox.SelectionColor = 'Red' $createUserParams = @{
$outputTextBox.AppendText("Fehler bei der Erstellung des Benutzers '$firstName $lastName':`r`n") Name = "$firstName $lastName"
$outputTextBox.AppendText("Fehlerdetails: $_`r`n") 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 { else {
# Erfolgsnachricht für vorhandenen Benutzer # Erfolgsnachricht für vorhandenen Benutzer
$outputTextBox.SelectionColor = 'Orange' $outputTextBox.SelectionColor = 'Orange'
$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
try { try {
# Überprüfen, ob die Gruppe existiert # Überprüfen, ob die Gruppe bereits existiert
$groupOU = $masterGroupOUComboBox.SelectedItem $groupOU = $masterGroupOUComboBox.SelectedItem
$group = Get-ADGroup -Filter { Name -eq $globalGroup } -ErrorAction SilentlyContinue $group = Get-ADGroup -Filter { Name -eq $globalGroup } -ErrorAction SilentlyContinue
# Wenn die Gruppe nicht existiert, wird sie erstellt # Wenn die Gruppe bereits existiert
if (-not $group) { 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
try { try {
$groupName = "GG_" + $globalGroup $groupName = "GG_" + $globalGroup
# Erstelle die Gruppe # Erstelle die Gruppe
@@ -274,15 +299,11 @@ function Create-User {
$outputTextBox.SelectionColor = 'Red' $outputTextBox.SelectionColor = 'Red'
$outputTextBox.AppendText("Fehler bei der Erstellung der Gruppe '$groupName':`r`n") $outputTextBox.AppendText("Fehler bei der Erstellung der Gruppe '$groupName':`r`n")
$outputTextBox.AppendText("Fehlerdetails: $_`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) { if ($username) {
try { try {
Add-ADGroupMember -Identity $groupName -Members $username Add-ADGroupMember -Identity $groupName -Members $username
@@ -799,7 +820,7 @@ function SMB-RIGHTS {
} }
try { try {
# Überprüfen, ob der Ordner existiert # Überprüfen, ob der Ordner existiert
if (Test-Path $parentFolder) { if (Test-Path $parentFolder) {
# Hole alle Unterordner des aktuellen Ordners # Hole alle Unterordner des aktuellen Ordners
$subfolders = Get-ChildItem -Path $parentFolder -Directory -ErrorAction SilentlyContinue $subfolders = Get-ChildItem -Path $parentFolder -Directory -ErrorAction SilentlyContinue