scripts/AD_AIO.ps1 aktualisiert
This commit is contained in:
@@ -12,10 +12,19 @@ if (-not $myPrincipal.IsInRole([System.Security.Principal.WindowsBuiltInRole]::A
|
||||
|
||||
# Windows.Forms Assembly laden
|
||||
Add-Type -AssemblyName System.Windows.Forms
|
||||
Import-Module ActiveDirectory
|
||||
|
||||
# Funktion, die beim Klick auf "Create User" ausgeführt wird
|
||||
function Create-User {
|
||||
Write-Host "Erstelle Benutzer..."
|
||||
$myWindowsIdentity = [System.Security.Principal.WindowsIdentity]::GetCurrent()
|
||||
$myPrincipal = New-Object System.Security.Principal.WindowsPrincipal($myWindowsIdentity)
|
||||
|
||||
if (-not $myPrincipal.IsInRole([System.Security.Principal.WindowsBuiltInRole]::Administrator)) {
|
||||
$arguments = "& '" + $myinvocation.mycommand.definition + "'"
|
||||
Start-Process powershell -ArgumentList $arguments -Verb runAs
|
||||
Exit
|
||||
}
|
||||
Add-Type -AssemblyName System.Windows.Forms
|
||||
Import-Module ActiveDirectory
|
||||
|
||||
@@ -162,6 +171,9 @@ function Create-User {
|
||||
$form.Controls.Add($okButton)
|
||||
$form.Controls.Add($exitButton)
|
||||
|
||||
# Importiere das Active Directory Modul, falls noch nicht geschehen
|
||||
Import-Module ActiveDirectory
|
||||
|
||||
# Event-Handler für den OK-Button hinzufügen
|
||||
$okButton.Add_Click({
|
||||
$masterPassword = $masterPasswordTextBox.Text # Masterkennwort holen
|
||||
@@ -204,13 +216,13 @@ function Create-User {
|
||||
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 `
|
||||
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'
|
||||
@@ -218,9 +230,9 @@ function Create-User {
|
||||
}
|
||||
catch {
|
||||
$outputTextBox.SelectionColor = 'Red'
|
||||
$outputTextBox.AppendText("Fehler bei der Erstellung des Benutzers '$firstName $lastName': $_.Exception.Message`r`n")
|
||||
$outputTextBox.AppendText("Fehler bei der Erstellung des Benutzers '$firstName $lastName':`r`n")
|
||||
$outputTextBox.AppendText("Fehlerdetails: $_`r`n")
|
||||
}
|
||||
|
||||
}
|
||||
else {
|
||||
# Erfolgsnachricht für vorhandenen Benutzer
|
||||
@@ -231,7 +243,7 @@ function Create-User {
|
||||
# Gruppenzuordnung durchführen, auch wenn der Benutzer schon existiert
|
||||
if ($globalGroup) {
|
||||
# Gruppen-OU immer auf die Master-OU setzen
|
||||
$groupOU = $masterGroupOU
|
||||
$groupOU = $masterGroupOUComboBox.SelectedItem
|
||||
try {
|
||||
# Überprüfen, ob die Gruppe existiert
|
||||
$group = Get-ADGroup -Filter { Name -eq $globalGroup }
|
||||
@@ -241,29 +253,31 @@ function Create-User {
|
||||
New-ADGroup -Name $groupName `
|
||||
-GroupScope Global `
|
||||
-Path $groupOU `
|
||||
-Description "Globale Gruppe für $groupName" `
|
||||
-Enabled $true
|
||||
-Description "Globale Gruppe für $groupName"
|
||||
|
||||
# Erfolgsnachricht
|
||||
$outputTextBox.SelectionColor = 'Green'
|
||||
$outputTextBox.AppendText("Globale Gruppe '$groupName' wurde erfolgreich erstellt.`r`n")
|
||||
}
|
||||
catch {
|
||||
$outputTextBox.SelectionColor = 'Red'
|
||||
$outputTextBox.AppendText("Fehler bei der Erstellung der Gruppe '$groupName': $_.Exception.Message`r`n")
|
||||
$outputTextBox.AppendText("Fehler bei der Erstellung der Gruppe '$groupName':`r`n")
|
||||
$outputTextBox.AppendText("Fehlerdetails: $_`r`n")
|
||||
}
|
||||
}
|
||||
catch {
|
||||
# Fehler bei der Gruppenzuordnung
|
||||
$outputTextBox.SelectionColor = 'Red'
|
||||
$outputTextBox.AppendText("Fehler bei der Gruppenzuordnung für Benutzer '$username': $_.Exception.Message`r`n")
|
||||
$outputTextBox.AppendText("Fehler bei der Gruppenzuordnung für Benutzer '$username':`r`n")
|
||||
$outputTextBox.AppendText("Fehlerdetails: $_`r`n")
|
||||
}
|
||||
}
|
||||
}
|
||||
catch {
|
||||
# Fehler bei der Benutzererstellung
|
||||
$outputTextBox.SelectionColor = 'Red'
|
||||
$outputTextBox.AppendText("Fehler bei der Erstellung des Benutzers '$firstName $lastName': $_.Exception.Message`r`n")
|
||||
$outputTextBox.AppendText("Fehler bei der Erstellung des Benutzers '$firstName $lastName':`r`n")
|
||||
$outputTextBox.AppendText("Fehlerdetails: $_`r`n")
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user