From 0e0a64169a386d5243c850f2b8cdfc29ea286c47 Mon Sep 17 00:00:00 2001 From: Tobias Date: Wed, 9 Jul 2025 08:35:19 +0200 Subject: [PATCH] Dateien nach "Powershell_Skript" hochladen --- Powershell_Skript/User-Erstellen.ps1 | 932 +++++++++++++++++++++++++++ 1 file changed, 932 insertions(+) create mode 100644 Powershell_Skript/User-Erstellen.ps1 diff --git a/Powershell_Skript/User-Erstellen.ps1 b/Powershell_Skript/User-Erstellen.ps1 new file mode 100644 index 0000000..c8947c7 --- /dev/null +++ b/Powershell_Skript/User-Erstellen.ps1 @@ -0,0 +1,932 @@ +#Disclaimer +#Testversion 1.5 +#Skript für Benutzererstellung zur vereinfachung zum Anlegen von Benutzern +#Todos: Erweitung Felder nach Bedarf +#Umstrukturierung Gruppen auf Arrays die leichter editierbar sind und weit weniger überprüfungsplatz verwenden +# +# 13.04.2023 Zeile 618 Verteiler Festangestellte eingebaut. pr +# +# 22.04.2024 Zeile 765-786 Attribute für dynamische Verteiler eingerichtet TME +# +# 13.02.2025 Benutzerverzeichnisse von \\sfs02\vol4\user auf \\sfs03\user\ umgestellt und Laufwerksbuchstaben von P: auf U: geändert. +# +# 30.04.2025 Citrix Stanndardzuweisung auskommentiert +# +#======================================================================================================================================================================================= +#Definitionen von Inhalten +#======================================================================================================================================================================================= +#Initsialisierung von Variablen + +$Fehlercounter = 0 + +#Feste Arrays (nicht dynamisch erweiterbar; Feste Struktur) + +#Array für Drucker + +$ArrayDrucker = @("Drucker Ottobeuren EG"; "Drucker Ottobeuren 1.OG"; "Drucker Ottobeuren 2.OG"; "Drucker Ottobeuren Empfang"; "Drucker CAD Plotter"; "Drucker Murnau"; "Drucker Berlin") + +#Array Firmendaten +$ArrayOttobeurenUmgebung = @("Johannes-Gutenberg-Str. 1"; "87724"; "+49 8332 9598 "; "+49 8332 9598 999"; "logon.cmd") +$ArrayMurnauUmgebung = @("Weilheimer Str. 21"; "82418"; "+49 8841 4 0500 "; "+49 8841 40500 29"; "logon.cmd") +$ArrayBerlinUmgebung = @("Reinickendorfer Str. 113"; "13347"; "+49 30 9921 124 "; "+49 304 60 606 839"; "logon.cmd") +$ArrayGroßGerauUmgebung = @("Frankfurter Straße 74"; "64521"; "+49 6152 51087 "; "+49 6152 51087 99"; "logon-gmbh.cmd") +$ArrayAugsburgUmgebung = @("Döllgaststr. 9"; "86199"; "+49 821 899811 "; "+49 821 899811 99"; "logon.cmd") +$ArrayRheinRuhrUmgebung = @("Wittekindstraße 1a"; "45127"; "+49 201 82069 "; "+49 201 2024 08"; "logon-reinruhr.cmd") + +#Dynamische Arrays (Dynamisch erweiter- und veränderbar, feste Struktur nicht nötig) + +#Array für Wertezuweisung + +$ArraySonderzeichen = @('!', '?', '"', ',') + + +#Arrays für Citrixgruppen + +#$ArrayCTXGruppenStandard = @("CTX-PHYS-Desktop-User"; "CTX-SEC-Users"; "CTX-Sec-AllowClientDrives") +#$ArrayCTXGruppenStandard = @("CTX-SEC-Allgemein"; "CTX-SEC-Users"; "CTX-XA16P1-PROD-FullDesktop"; "CTX-XA16P1-PROD-DA-Chrome"; "CTX-XA16P1-PROD-DA-pdfxchange"; "CTX-XA16P1-PROD-DA-Office2016") +#$ArrayCTXGruppenCAD = @("Drucker CAD Plotter"; "CTX-XA16P1-PROD-DA-MEP2020"; "CTX-XA16P1-PROD-DA-NAVISMANAGE"; "CTX-XA16P1-PROD-DA-REVIT2020"; "CTX-XA16P1-PROD-DA-RELUX") +#$ArrayCTXGruppenSachbearbeiterHKSM = @("CTX-XA16P1-PROD-DA-NAVISFREEDOM"; "CTX-XA16P1-PROD-DA-MEP-SACHBEARBEITER") +#$ArrayCTXGruppenSachbearbeiterELT = @("CTX-XA16P1-PROD-DA-NAVISFREEDOM"; "CTX-XA16P1-PROD-DA-MEP-SACHBEARBEITER"; "CTX-XA16P1-PROD-DA-RELUX") +#$ArrayCTXGruppenBauueberwachung = @("CTX-XA16P1-PROD-DA-NAVISFREEDOM"; "CTX-XA16P1-PROD-DA-MEP-SACHBEARBEITER"; "CTX-XA16P1-PROD-DA-RELUX") + + +#Arrays für Standard Organisationsgruppen + +#$ArrayGruppenOttobeuren = @(MA-Ott) +#$ArrayGruppenMurnau = @() +#$ArrayGruppenBerlin = @() +#$ArrayGruppenAugsburg = @("MA-Augsburg";"Augsburg Allgemein") +#$ArrayGruppenGroßGerau = @("MA-Groß-Gerau") + +#Arrays für Anstellungsarten +$ArrayGruppenFestangestellt = @("CI-Sign"; "intra") +$ArrayGruppenExtern = @("ExterneMitarbeiter"; "CI-Sign") +$ArrayGruppenAzubis = @("AzuBis") + + + + +#======================================================================================================================================================================================= + +#Bibliotheken + +[void] [System.Reflection.Assembly]::LoadWithPartialName("System.Drawing") + +[void] [System.Reflection.Assembly]::LoadWithPartialName("System.Windows.Forms") + +#Module überprüfen + +Import-Module ActiveDirectory + +if ($Error -eq $true) { + [System.Windows.Forms.MessageBox]::Show(„Das Active Directory Modul ist auf diesem Rechner nicht vorhanden. Bitte installieren sie dieses um fortzufahren. Programm wird beendet“, “Fehler“, 0, [System.Windows.Forms.MessageBoxIcon]::Exclamation) + + Exit 0 +} + +#======================================================================================================================================================================================= +#aktive Ausführung +#======================================================================================================================================================================================= + + +#Fenster + +$objForm = New-Object System.Windows.Forms.Form + +#Startposition +$objForm.StartPosition = "CenterScreen" + +#Fenstergröße +$objForm.Size = New-Object System.Drawing.Size(900, 800) + +#Überschrifttext +$objForm.Text = "Benutzer anlegen" + +#Beschreibungstexte +#.Location legt Position des Elements fest +#.Size legt Größe des Elements fest +#.Text legt Beschriftung fest +#.controls.add Verbindet das Element mit dem Fenster + +#Textfeld Vorname + +$VornameText = New-Object System.Windows.Forms.Label +$VornameText.Location = New-Object System.Drawing.size(50, 70) +$VornameText.Size = New-Object System.Drawing.Size(75, 40) +$VornameText.Text = "Vorname:" +$objForm.controls.Add($VornameText) + +#Textfeld Nachname + +$NachnameText = New-Object System.Windows.Forms.Label +$NachnameText.Location = New-Object System.Drawing.Size(50, 120) +$NachnameText.Size = New-Object System.Drawing.Size(75, 40) +$NachnameText.Text = "Nachname:" +$objForm.controls.Add($NachnameText) + +#Textfeld Initialen + +$InitialenText = New-Object System.Windows.Forms.Label +$InitialenText.Location = New-Object System.Drawing.Size(50, 170) +$InitialenText.Size = New-Object System.Drawing.Size(75, 40) +$InitialenText.Text = "Initialen:" +$objForm.controls.Add($InitialenText) + +#Textfeld Platz + +$PlatzText = New-Object System.Windows.Forms.Label +$PlatzText.Location = New-Object System.Drawing.Size(50, 220) +$PlatzText.Size = New-Object System.Drawing.Size(80, 40) +$PlatzText.Text = "Platznummer:" +$objForm.controls.Add($PlatzText) + +#Textfeld Durchwahl + +$DurchwahlText = New-Object System.Windows.Forms.Label +$DurchwahlText.Location = New-Object System.Drawing.Size(50, 280) +$DurchwahlText.Size = New-Object System.Drawing.Size(75, 40) +$DurchwahlText.Text = "Durchwahl:" +$objForm.controls.Add($DurchwahlText) + +#Textfeld Standort + +$StandortText = New-Object System.Windows.Forms.Label +$StandortText.Location = New-Object System.Drawing.Size(50, 340) +$StandortText.Size = New-Object System.Drawing.Size(75, 40) +$StandortText.Text = "Standort:" +$objForm.controls.Add($StandortText) + +#Textfeld Firma + +$FirmaText = New-Object System.Windows.Forms.Label +$FirmaText.Location = New-Object System.Drawing.Size(50, 400) +$FirmaText.Size = New-Object System.Drawing.Size(75, 40) +$FirmaText.Text = "Firma:" +$objForm.controls.Add($FirmaText) + +#Textfeld Berufsgruppe + +$BerufsgruppeText = New-Object System.Windows.Forms.Label +$BerufsgruppeText.Location = New-Object System.Drawing.Size(50, 460) +$BerufsgruppeText.Size = New-Object System.Drawing.Size(85, 40) +$BerufsgruppeText.Text = "Berufsgruppe:" +$objForm.controls.Add($BerufsgruppeText) + +#Textfeld Vorgesetzter + +$VorgesetzterText = New-Object System.Windows.Forms.Label +$VorgesetzterText.Location = New-Object System.Drawing.Size(500, 70) +$VorgesetzterText.Size = New-Object System.Drawing.Size(100, 30) +$VorgesetzterText.Text = "Vorgesetzter:" +$objForm.controls.Add($VorgesetzterText) + + +#Textfeld Festangestellt + +$FestangestelltText = New-Object System.Windows.Forms.Label +$FestangestelltText.Location = New-Object System.Drawing.Size(500, 120) +$FestangestelltText.Size = New-Object System.Drawing.Size(100, 30) +$FestangestelltText.Text = "Festangestellt:" +$objForm.controls.Add($FestangestelltText) + +#Textfeld Azubis + +$AzubisText = New-Object System.Windows.Forms.Label +$AzubisText.Location = New-Object System.Drawing.Size(500, 170) +$AzubisText.Size = New-Object System.Drawing.Size(100, 30) +$AzubisText.Text = "Azubi:" +$objForm.controls.Add($AzubisText) + +#Textfeld Drucker + +$DruckerText = New-Object System.Windows.Forms.Label +$DruckerText.Location = New-Object System.Drawing.Size(500, 220) +$DruckerText.Size = New-Object System.Drawing.Size(100, 30) +$DruckerText.Text = "Druckerauswahl:" +$objForm.controls.Add($DruckerText) + +#Textfeld extNummer + +$extNummerText = New-Object System.Windows.Forms.Label +$extNummerText.Location = New-Object System.Drawing.Size(500, 270) +$extNummerText.Size = New-Object System.Drawing.Size(100, 30) +$extNummerText.Text = "ext. Nummer: (Nur NL)" +$objForm.controls.Add($extNummerText) + +#Schriftfeld Vorname + +$Vorname = New-Object System.Windows.Forms.Textbox +$Vorname.Location = New-Object System.Drawing.size(150, 70) +$Vorname.Size = New-Object System.Drawing.Size(200, 20) +$objForm.controls.Add($Vorname) + +#Schriftfeld Nachname + +$Nachname = New-Object System.Windows.Forms.TextBox +$Nachname.Location = New-Object System.Drawing.Size (150, 120) +$Nachname.Size = New-Object System.Drawing.Size (200, 20) +$objForm.controls.Add($Nachname) + +#Schriftfeld Initialen + +$Initialen = New-Object System.Windows.Forms.TextBox +$Initialen.Location = New-Object System.Drawing.Size (150, 170) +$Initialen.Size = New-Object System.Drawing.Size (200, 20) +$objForm.controls.Add($Initialen) + +#Schriftfeld Platz + +$Platz = New-Object System.Windows.Forms.TextBox +$Platz.Location = New-Object System.drawing.size(150, 220) +$Platz.Size = New-Object System.Drawing.Size(200, 20) +$objForm.controls.Add($Platz) + +#Schriftfeld Durchwahl + +$Durchwahl = New-Object System.Windows.Forms.TextBox +$Durchwahl.Location = New-Object System.drawing.size(150, 280) +$Durchwahl.Size = New-Object System.Drawing.Size(200, 20) +$objForm.controls.Add($Durchwahl) + +#Combobox Standort + +$Standort = New-Object System.Windows.Forms.Combobox +$Standort.Location = New-Object System.Drawing.Size(150, 340) +$Standort.Size = New-Object System.Drawing.Size (200, 20) +$Standort.Text = "Ottobeuren" +[void] $Standort.Items.Add("Berlin") +[void] $Standort.Items.Add("Groß-Gerau") +[void] $Standort.Items.Add("Murnau") +[void] $Standort.Items.Add("Ottobeuren") +[void] $Standort.Items.Add("Augsburg") +[void] $Standort.Items.Add("Rhein-Ruhr") +$Standort.Height = 50 +$objForm.controls.Add($Standort) + +#Combobox Firma + +$Firma = New-Object System.Windows.Forms.Combobox +$Firma.Location = New-Object System.Drawing.Size(150, 400) +$Firma.Size = New-Object System.Drawing.Size (200, 20) +$Firma.Text = "Ingenieurbüro Mayer AG" +[void] $Firma.Items.Add("Ingenieurbüro Mayer AG") +[void] $Firma.Items.Add("Simtecto GmbH") +[void] $Firma.Items.Add("Ingenieurbüro Mayer GmbH") +[void] $Firma.Items.Add("Ingenieurbüro Mayer Rhein-Ruhr GmbH") +$Firma.Height = 30 +$objForm.controls.Add($Firma) + +#Combobox Beruf + +$Berufsgruppe = New-Object System.Windows.Forms.Combobox +$Berufsgruppe.Location = New-Object System.Drawing.Size(150, 460) +$Berufsgruppe.Size = New-Object System.Drawing.Size (200, 20) +$Berufsgruppe.Text = "Kompetenzteam CAD" +[void] $Berufsgruppe.Items.Add("Administration, Bereich Büroassistenz") +[void] $Berufsgruppe.Items.Add("Administration, Bereich Finanzen und Controlling") +[void] $Berufsgruppe.Items.Add("Administration, Bereich IT") +[void] $Berufsgruppe.Items.Add("Administration, Bereich Personal") +[void] $Berufsgruppe.Items.Add("Kompetenzteam Bauüberwachung") +[void] $Berufsgruppe.Items.Add("Kompetenzteam CAD") +[void] $Berufsgruppe.Items.Add("Kompetenzteam ELT") +[void] $Berufsgruppe.Items.Add("Kompetenzteam Gebäudeautomation") +[void] $Berufsgruppe.Items.Add("Kompetenzteam HKSM") +[void] $Berufsgruppe.Items.Add("Kompetenzteam RLT") +$Berufsgruppe.Height = 100 +$objForm.controls.Add($Berufsgruppe) + +#Combobox Drucker + +$Vorgesetzter = New-Object System.Windows.Forms.Combobox +$Vorgesetzter.Location = New-Object System.Drawing.Size(610, 70) +$Vorgesetzter.Size = New-Object System.Drawing.Size (120, 20) +$Vorgesetzter.Text = "" +[void] $Vorgesetzter.Items.Add("Alexander Klein") +[void] $Vorgesetzter.Items.Add("Daniel Angele") +[void] $Vorgesetzter.Items.Add("Eric Schröder") +[void] $Vorgesetzter.Items.Add("Florian Baum") +[void] $Vorgesetzter.Items.Add("Florian Hilpold") +[void] $Vorgesetzter.Items.Add("German Kufer") +[void] $Vorgesetzter.Items.Add("Jürgen Mayer") +[void] $Vorgesetzter.Items.Add("Jörg Obels") +[void] $Vorgesetzter.Items.Add("Josef Schwinger") +[void] $Vorgesetzter.Items.Add("Karl Schmiedt") +[void] $Vorgesetzter.Items.Add("Matthias Fendt") +[void] $Vorgesetzter.Items.Add("Peter Krassnitzer") +[void] $Vorgesetzter.Items.Add("Ralf Dohrmann") +[void] $Vorgesetzter.Items.Add("Reinhard Hörmann") +[void] $Vorgesetzter.Items.Add("René Meding") +[void] $Vorgesetzter.Items.Add("Sandra Sommer") +[void] $Vorgesetzter.Items.Add("Wolfgang Forth") +$Vorgesetzter.Height = 30 +$objForm.controls.Add($Vorgesetzter) + + +#Checkbox Festangestellt + +$Festangestellt = New-Object System.Windows.Forms.Checkbox +$Festangestellt.Location = New-Object System.drawing.size(610, 120) +$Festangestellt.Size = New-Object System.Drawing.Size(15, 20) +$objForm.controls.Add($Festangestellt) + +#Checkbox Azubis + +$Azubis = New-Object System.Windows.Forms.Checkbox +$Azubis.Location = New-Object System.drawing.size(610, 170) +$Azubis.Size = New-Object System.Drawing.Size(15, 20) +$objForm.controls.Add($Azubis) + +#Combobox Drucker + +$Drucker = New-Object System.Windows.Forms.Combobox +$Drucker.Location = New-Object System.Drawing.Size(610, 220) +$Drucker.Size = New-Object System.Drawing.Size (120, 20) +$Drucker.Text = "" +[void] $Drucker.Items.Add("Drucker EG") +[void] $Drucker.Items.Add("Drucker 1.OG") +[void] $Drucker.Items.Add("Drucker 2.OG") +[void] $Drucker.Items.Add("Drucker Berlin") +[void] $Drucker.Items.Add("Drucker Murnau") +[void] $Drucker.Items.Add("Drucker Verwaltung") +$Drucker.Height = 30 +$objForm.controls.Add($Drucker) + +#externe Rufnummer für Niederlassungen + +$extNummer = New-Object System.Windows.Forms.TextBox +$extNummer.Location = New-Object System.Drawing.Size (610, 270) +$extNummer.Size = New-Object System.Drawing.Size (200, 20) +$objForm.controls.Add($extNummer) + +#Abbruch Button + +$Abbruchbutton = New-Object System.Windows.Forms.Button +$Abbruchbutton.Location = New-Object System.Drawing.Size(150, 640) +$Abbruchbutton.Size = New-Object System.Drawing.Size(75, 23) +$Abbruchbutton.Text = "Abbrechen" +$Abbruchbutton.Name = "Abbrechen" +$Abbruchbutton.DialogResult = "Cancel" +$Abbruchbutton.add_Click({ $objForm.Close() }) +$objForm.controls.Add($Abbruchbutton) + +#OK Button + +$OKButton = New-Object System.Windows.Forms.Button +$OKButton.Location = New-Object System.Drawing.Size(50, 640) +$OKButton.Size = New-Object System.Drawing.Size(75, 23) +$OKButton.Text = "OK" +$OKButton.Name = "OK" +$OKButton.add_Click({ + + #Kombination Benutzername + + + $Benutzername = $Vorname.Text + "." + $Nachname.Text + + $Benutzername = $Benutzername.ToLower() + + $Initialen = $Initialen.Text.ToUpper() + + + + #Überprüfung Vorname + if (!$Vorname.Text) { + [System.Windows.Forms.MessageBox]::Show(„Bitte geben sie einen Vornamen ein“, “Fehler“, 0, [System.Windows.Forms.MessageBoxIcon]::Exclamation) + $Fehlercounter ++ + + } + + if ($Vorname.Text -contains $ArraySonderzeichen) { + [System.Windows.Forms.MessageBox]::Show(„Bitte geben sie keine Sonderzeichen ein“, “Fehler“, 0, [System.Windows.Forms.MessageBoxIcon]::Exclamation) + $Fehlercounter ++ + + } + + #Überprüfung Nachname + if (!$Nachname.Text) { + [System.Windows.Forms.MessageBox]::Show(„Bitte geben sie einen Nachnamen ein“, “Fehler“, 0, [System.Windows.Forms.MessageBoxIcon]::Exclamation) + $Fehlercounter ++ + + } + + if ($Nachname.Text -contains $ArraySonderzeichen) { + [System.Windows.Forms.MessageBox]::Show(„Bitte geben sie keine Sonderzeichen ein“, “Fehler“, 0, [System.Windows.Forms.MessageBoxIcon]::Exclamation) + $Fehlercounter ++ + + } + + #Überprüfung Initialen + + if ($Initialen.Text -contains $ArraySonderzeichen) { + [System.Windows.Forms.MessageBox]::Show(„Bitte geben sie keine Sonderzeichen ein“, “Fehler“, 0, [System.Windows.Forms.MessageBoxIcon]::Exclamation) + $Fehlercounter ++ + + } + + + + #Überprüfung Standort + if (!$Standort.Text) { + [System.Windows.Forms.MessageBox]::Show(„Bitte geben sie einen Standort an“, “Fehler“, 0, [System.Windows.Forms.MessageBoxIcon]::Exclamation) + $Fehlercounter ++ + + } + + #Überprüfung Firma + if (!$Firma.Text) { + [System.Windows.Forms.MessageBox]::Show(„Bitte geben sie die Firma an bei der der Mitarbeiter angestellt wird“, “Fehler“, 0, [System.Windows.Forms.MessageBoxIcon]::Exclamation) + $Fehlercounter ++ + + } + + + #Überprüfung Berufsgruppe + if (!$Berufsgruppe.Text) { + [System.Windows.Forms.MessageBox]::Show(„Bitte geben sie die Berufsgruppe des Mitarbeiters an“, “Fehler“, 0, [System.Windows.Forms.MessageBoxIcon]::Exclamation) + + + } + + #Überprüfung ob Benutzer bereits vorhanden + $vorhanden = (Get-ADUser -Filter { SamAccountName -eq $Benutzername } | Measure-Object).count + + if ($vorhanden -ne 0) { + + [System.Windows.Forms.MessageBox]::Show(„Benutzer ist schon vorhanden. Programm wird beendet“, “Fehler“, 0, [System.Windows.Forms.MessageBoxIcon]::Exclamation) + + $objForm.Close() + + exit 0 + } + + + if ($Fehlercounter -eq 0) { + + #Standort Auswahl + Standortabhängige Parameter + + if ($Standort.Text -eq "Ottobeuren") { + $ArrayStandort = $ArrayOttobeurenUmgebung + } + + elseif ($Standort.Text -eq "Murnau") { + $ArrayStandort = $ArrayMurnauUmgebung + } + + elseif ($Standort.Text -eq "Berlin") { + $ArrayStandort = $ArrayBerlinUmgebung + } + + elseif ($Standort.Text -eq "Groß-Gerau") { + $ArrayStandort = $ArrayGroßGerauUmgebung + } + + elseif ($Standort.Text -eq "Augsburg") { + $ArrayStandort = $ArrayAugsburgUmgebung + } + elseif ($Standort.Text -eq "Rhein-Ruhr") { + $ArrayStandort = $ArrayRheinRuhrUmgebung + } + + $StraßeundHausnummer = $ArrayStandort[0] + $Postleitzahl = $ArrayStandort[1] + $Telefonnummer = $ArrayStandort[2] + $Fax = $ArrayStandort[3] + $Script = $ArrayStandort[4] + + #Firma + + if ($Firma.Text -eq "Ingenieurbüro Mayer AG") { + $Verwaltungsort = "User" + $Homepage = "https://www.ib-mayer.de" + } + + elseif ($Firma.Text -eq "Simtecto GmbH") { + $Verwaltungsort = "Simtecto" + $Telefonnummer = "+49 8332 79 67 68-" + $Fax = "+49 8332 79 67 68-9" + $Script = "logon-simtecto.cmd" + $Homepage = "https://www.simtecto.de/" + } + + elseif ($Firma.Text -eq "Ingenieurbüro Mayer GmbH") { + $Verwaltungsort = "User" + $Script = "logon-gmbh.cmd" + $Homepage = "https://www.ib-mayer.de" + } + + elseif ($Firma.Text -eq "Ingenieurbüro Mayer Rhein-Ruhr GmbH") { + $Verwaltungsort = "User" + $Script = "logon-rheinruhr.cmd" + $Fax = "+49 201 202408" + $Homepage = "https://www.ib-mayer.de" + $AdresseCity = "Essen" + } + + + if ($Festangestellt.CheckState -eq "Unchecked") { + + $Verwaltungsort = "Externe Mitarbeiter" + $Platz = "" + $Telefonnummer = "+49 8332 9598 0" + } + + #Behebung ÜÄÖß Probleme + + if ($Benutzername.contains("ö")) { + $Benutzername = $Benutzername.replace("ö", "oe") + } + + if ($Benutzername.contains("ä")) { + $Benutzername = $Benutzername.replace("ä", "ae") + } + + if ($Benutzername.contains("ü")) { + $Benutzername = $Benutzername.replace("ü", "ue") + } + + if ($Benutzername.contains("ß")) { + $Benutzername = $Benutzername.replace("ß", "ss") + } + + #Variable Passwort + + $password = “20IbnbIBM&fmha25” | ConvertTo-SecureString -AsPlainText -Force + + #Kommandozeile zur Benutzererstellung + if ($Firma.text -eq "Ingenieurbüro Mayer GmbH") { + New-ADUser -Name "$($Vorname.Text) $($Nachname.Text)"-Initials $Initialen -GivenName $Vorname.Text -Surname $Nachname.Text -Path "ou=$($Verwaltungsort),ou=$($Standort.Text),ou=IB-MAYER,dc=ib-mayer,dc=local" -UserPrincipalName "$Benutzername@ib-mayer.de" -DisplayName "$($Vorname.Text) $($Nachname.Text)" -AccountPassword $password -Description $Berufsgruppe.Text -title $Berufsgruppe.Text -Department $Department -StreetAddress $StraßeundHausnummer -Company $Firma.Text -City $Standort.Text -Country DE -SamAccountName $Benutzername -HomeDirectory "\\sfs02\vol8\user\$Benutzername" -HomeDrive P: -Office $Standort.Text -Fax "$Fax" -ScriptPath "$Script" -PostalCode $Postleitzahl -HomePage $Homepage + } + elseif ($Firma.text -eq "Ingenieurbüro Mayer Rhein-Ruhr GmbH") { + New-ADUser -Name "$($Vorname.Text) $($Nachname.Text)"-Initials $Initialen -GivenName $Vorname.Text -Surname $Nachname.Text -Path "ou=$($Verwaltungsort),ou=$($Standort.Text),ou=IB-MAYER,dc=ib-mayer,dc=local" -UserPrincipalName "$Benutzername@ib-mayer.de" -DisplayName "$($Vorname.Text) $($Nachname.Text)" -AccountPassword $password -Description $Berufsgruppe.Text -title $Berufsgruppe.Text -Department $Department -StreetAddress $StraßeundHausnummer -Company $Firma.Text -City $AdresseCity -Country DE -SamAccountName $Benutzername -HomeDirectory "\\sfs02\vol10\user\$Benutzername" -HomeDrive P: -Office $Standort.Text -Fax "$Fax" -ScriptPath "$Script" -PostalCode $Postleitzahl -HomePage $Homepage + } + else { + + New-ADUser -Name "$($Vorname.Text) $($Nachname.Text)"-Initials $Initialen -GivenName $Vorname.Text -Surname $Nachname.Text -Path "ou=$($Verwaltungsort),ou=$($Standort.Text),ou=IB-MAYER,dc=ib-mayer,dc=local" -UserPrincipalName "$Benutzername@ib-mayer.de" -DisplayName "$($Vorname.Text) $($Nachname.Text)" -AccountPassword $password -Description $Berufsgruppe.Text -title $Berufsgruppe.Text -Department $Department -StreetAddress $StraßeundHausnummer -Company $Firma.Text -City $Standort.Text -Country DE -SamAccountName $Benutzername -HomeDirectory "\\sfs03\user\$Benutzername" -HomeDrive U: -Office $Standort.Text -Fax "$Fax" -ScriptPath "$Script" -PostalCode $Postleitzahl -HomePage $Homepage + + } + + #Setzen Wert Platz + if ( $Platz.Text -ne "") { + Set-ADUser -Identity $Benutzername -Add @{info = "$($Platz.Text)" } + } + + #Setzen Wert ProxyAddresses + + If ($Firma.Text -eq "Ingenieurbüro Mayer AG") { + Set-ADUser -Identity $Benutzername -Add @{proxyAddresses = "SMTP:$Benutzername@ib-mayer.de", "smtp:$Benutzername@ib-mayer.com", "smtp:$Benutzername@ib-mayer.local", "smtp:$Benutzername@ibmayer.mail.onmicrosoft.com" } + } + elseif ($Firma.Text -eq "Simtecto GmbH") { + Set-ADUser -Identity $Benutzername -Add @{proxyAddresses = "SMTP:$Benutzername@simtecto.de", "smtp:$Benutzername@simtecto.com", "smtp:$Benutzername@ib-mayer.de", " smtp:$Benutzername@ib-mayer.com", "smtp:$Benutzername@ib-mayer.local", "smtp:$Benutzername@ibmayer.mail.onmicrosoft.com" } + } + else { # ($Firma.Text -eq "Ingenieurbüro Mayer GmbH") + Set-ADUser -Identity $Benutzername -Add @{proxyAddresses = "SMTP:$Benutzername@ib-mayer.de", "smtp:$Benutzername@ib-mayer.com", "smtp:$Benutzername@ib-mayer.local", "smtp:$Benutzername@ibmayer.mail.onmicrosoft.com" } + } + + #Setzen Wert TargetAddress + Set-ADUser -Identity $Benutzername -Add @{targetAddress = "smtp:$Benutzername@ibmayer.mail.onmicrosoft.com" } + + #setzen E-Mail + Set-ADUser -Identity $Benutzername -Add @{mail = "$Benutzername@ib-mayer.de" } + + #setzen Land + Set-ADUser -Identity $Benutzername -Replace @{c = "DE"; co = "Deutschland"; countrycode = "276" } + + #Prüfen ob Durchwahl vorhanden + if ($Durchwahl -ne $null) { + + #Setzen Durchwahl + Set-ADUser -Identity $Benutzername -Add @{ipPhone = "$($Durchwahl.Text)" } + + #Setzen Büronummer + + if ($standort.Text -ne "Ottobeuren") { + + Set-aduser -Identity $Benutzername -OfficePhone "$($extNummer.Text)" + + } + + else { + + Set-aduser -Identity $Benutzername -OfficePhone "$Telefonnummer$($Durchwahl.Text)" + + } + + } + + #P Verzeichnis erstellen + + if ($Firma.Text -eq "Ingenieurbüro Mayer GmbH") { + New-Item -Path "\\sfs02\vol8\user\" -Name "$Benutzername" -ItemType "directory" + + #Setzen Rechte P Ordner + + $acl = Get-Acl "\\sfs02\vol8\user\$Benutzername" + $AccessRule = New-Object System.Security.AccessControl.FileSystemAccessRule("$Benutzername", "FullControl", "ContainerInherit,ObjectInherit", "none", "Allow") + $acl.SetAccessRule($AccessRule) + Set-Acl "\\sfs02\vol8\user\$Benutzername" -AclObject $acl + } + elseif ($Firma.Text -eq "Ingenieurbüro Mayer Rhein-Ruhr GmbH") { + New-Item -Path "\\sfs02\vol10\user\" -Name "$Benutzername" -ItemType "directory" + + #Setzen Rechte P Ordner + + $acl = Get-Acl "\\sfs02\vol10\user\$Benutzername" + $AccessRule = New-Object System.Security.AccessControl.FileSystemAccessRule("$Benutzername", "FullControl", "ContainerInherit,ObjectInherit", "none", "Allow") + $acl.SetAccessRule($AccessRule) + Set-Acl "\\sfs02\vol10\user\$Benutzername" -AclObject $acl + } + else { + New-Item -Path "\\sfs03\user\" -Name "$Benutzername" -ItemType "directory" + + #Setzen Rechte P Ordner + + $acl = Get-Acl "\\sfs03\user\$Benutzername" + $AccessRule = New-Object System.Security.AccessControl.FileSystemAccessRule("$Benutzername", "FullControl", "ContainerInherit,ObjectInherit", "none", "Allow") + $acl.SetAccessRule($AccessRule) + Set-Acl "\\sfs03\user\$Benutzername" -AclObject $acl + } + #============================================================================================================================ + #Standardgruppen + if ($Festangestellt.CheckState -eq "Checked") { + If ($Firma.Text -eq "Ingenieurbüro Mayer AG") { + Add-ADGroupMember -Identity CI-Sign -Members $Benutzername + Add-ADGroupMember -Identity MA-Ott -Members $Benutzername + Add-ADGroupMember -Identity "Verteiler Festangestellte" -Members $Benutzername + if ($Standort.Text -eq "Ottobeuren") { + Add-ADGroupMember -Identity SignOtt -Members $Benutzername + } + } + elseif ($Firma.Text -eq "Simtecto GmbH") { + Add-ADGroupMember -Identity MA-Ott -Members $Benutzername + Add-ADGroupMember -Identity Simtecto -Members $Benutzername + } + + elseif ($Firma.Text -eq "Ingenieurbüro Mayer GmbH") { + Add-ADGroupMember -Identity MA-Groß-Gerau -Members $Benutzername + } + elseif ($Firma.Text -eq "Ingenieurbüro Mayer Rhein-Ruhr GmbH") { + Add-ADGroupMember -Identity MA-Rhein-Ruhr -Members $Benutzername + } + + } + + + + + + #============================================================================================================================== + #Gruppen für Rollen + + if ($Berufsgruppe.Text -eq "Kompetenzteam CAD") { + Add-ADGroupMember -Identity "Drucker CAD Plotter" -Members $Benutzername + Add-ADGroupMember -Identity "CAD VST Ottobeuren" -Members $Benutzername + Add-ADGroupMember -Identity "CAD ELT Ottobeuren" -Members $Benutzername + + } + + if ($Benutzergruppe.Text -eq "Kompetenzteam HKSM") { + Add-ADGroupMember -Identity "Kompetenzteam HKSM" -Members $Benutzername + } + + if ($Benutzergruppe.Text -eq "Kompetenzteam RLT") { + Add-ADGroupMember -Identity "Team-RLT" -Members $Benutzername + } + + if ($Benutzergruppe.Text -eq "Kompetenzteam ELT") { + Add-ADGroupMember -Identity "Team-ELT" -Members $Benutzername + Add-ADGroupMember -Identity "Ing ELT Ottobeuren" -Members $Benutzername + } + + if ($Benutzergruppe.Text -eq "Kompetenzteam Bauüberwachung") { + Add-ADGroupMember -Identity "Kompetenzteam Bauüberwachung" -Members $Benutzername + } + + if ($Benutzergruppe.Text -eq "IT") { + Add-ADGroupMember -Identity "CTX-XA16P1-PROD-DA-BARAMUNDI" -Members $Benutzername + } + + #============================================================================================================================= + #Vorgesetzter + + if ($Vorgesetzter.Text -eq "Alexander Klein") { + Set-aduser -Identity $Benutzername -Manager Alexander.Klein + } + + elseif ($Vorgesetzter.text -eq "Daniel Angele") { + Set-aduser -Identity $Benutzername -Manager Daniel.Angele + } + + elseif ($Vorgesetzter.text -eq "Eric Schröder") { + Set-aduser -Identity $Benutzername -Manager Eric.Schroeder + } + + elseif ($Vorgesetzter.text -eq "Florian Baum") { + Set-aduser -Identity $Benutzername -Manager Florian.Baum + } + + elseif ($Vorgesetzter.text -eq "Florian Hilpold") { + Set-aduser -Identity $Benutzername -Manager Florian.Hilpold + } + + elseif ($Vorgesetzter.text -eq "German Kufer") { + Set-aduser -Identity $Benutzername -Manager German.Kufer + } + + elseif ($Vorgesetzter.text -eq "Jürgen Mayer") { + Set-aduser -Identity $Benutzername -Manager Juergen.Mayer + } + + elseif ($Vorgesetzter.text -eq "Jörg Obels") { + Set-aduser -Identity $Benutzername -Manager Joerg.Obels + } + + elseif ($Vorgesetzter.text -eq "Josef Schwinger") { + Set-aduser -Identity $Benutzername -Manager Josef.Schwinger + } + + elseif ($Vorgesetzter.text -eq "Karl Schmiedt") { + Set-aduser -Identity $Benutzername -Manager Karl.Schmiedt + } + + elseif ($Vorgesetzter.text -eq "Matthias Fendt") { + Set-aduser -Identity $Benutzername -Manager Matthias.Fendt + } + + elseif ($Vorgesetzter.text -eq "Peter Krassnitzer") { + Set-aduser -Identity $Benutzername -Manager Peter.Krassnitzer + } + + elseif ($Vorgesetzter.text -eq "Reinhard Hörmann") { + Set-aduser -Identity $Benutzername -Manager Reinhard.Hoermann + } + + elseif ($Vorgesetzter.text -eq "René Meding") { + Set-aduser -Identity $Benutzername -Manager Rene.Meding + } + + elseif ($Vorgesetzter.text -eq "Sandra Sommer") { + Set-aduser -Identity $Benutzername -Manager Sandra.Sommer + } + + elseif ($Vorgesetzter.text -eq "Wolfgang Forth") { + Set-aduser -Identity $Benutzername -Manager Wolfgang.Forth + } + + elseif ($Vorgesetzter.text -eq "Ralf Dohrmann") { + Set-aduser -Identity $Benutzername -Manager Ralf.Dohrmann + } + + #============================================================================================================================= + #Dynamische Verteilergruppe Standort + + if ($Standort.Text -eq "Ottobeuren") { + Set-ADUser -Identity $Benutzername -Add @{extensionAttribute1 = "IBMayer-AG-Ottobeuren" } + } + + elseif ($Standort.Text -eq "Murnau") { + Set-ADUser -Identity $Benutzername -Add @{extensionAttribute1 = "IBMayer-AG-Murnau" } + } + + elseif ($Standort.Text -eq "Berlin") { + Set-ADUser -Identity $Benutzername -Add @{extensionAttribute1 = "IBMayer-AG-Berlin" } + } + + elseif ($Standort.Text -eq "Augsburg") { + Set-ADUser -Identity $Benutzername -Add @{extensionAttribute1 = "IBMayer-AG-Augsburg" } + } + + elseif ($Firma.Text -eq "Simtecto GmbH") { + Set-ADUser -Identity $Benutzername -Add @{extensionAttribute1 = "Simtecto" } + } + + elseif ($Standort.Text -eq "Groß-Gerau") { + Set-ADUser -Identity $Benutzername -Add @{extensionAttribute1 = "IBMayer-GmbH-Groß-Gerau" } + } + + elseif ($Standort.Text -eq "Rhein-Ruhr") { + Set-ADUser -Identity $Benutzername -Add @{extensionAttribute1 = "IBMayer-GmbH-Rhein-Ruhr" } + } + + + #============================================================================================================================= + #Festangestellt + + if ($Festangestellt.CheckState -eq "Checked") { + foreach ($item in $ArrayGruppenFestangestellt) { Add-ADGroupMember -identity $item -Members $Benutzername } + } + + #============================================================================================================================= + #Extern + + elseif ($Festangestellt.CheckState -eq "Unchecked") { + foreach ($item in $ArrayGruppenExtern) { Add-ADGroupMember -identity $item -Members $Benutzername } + } + + #============================================================================================================================= + #Azubis + + if ($Azubis.CheckState -eq "Checked") { + foreach ($item in $ArrayGruppenAzubis) { Add-ADGroupMember -identity $item -Members $Benutzername } + } + + #============================================================================================================================= + #Citrix Standardgruppen Zuweisung + + # foreach ($item in $ArrayCTXGruppenStandard) { Add-ADGroupMember -identity $item -Members $Benutzername } + + #============================================================================================================================= + #Drucker zuordnen + + if ($Drucker.Text -eq "Drucker EG") { + Add-ADGroupMember -Identity $ArrayDrucker[0] -Members $Benutzername + } + + if ($Drucker.Text -eq "Drucker 1.OG") { + Add-ADGroupMember -Identity $ArrayDrucker[1] -Members $Benutzername + } + + if ($Drucker.Text -eq "Drucker 2.OG") { + Add-ADGroupMember -Identity $ArrayDrucker[2] -Members $Benutzername + } + + if ($Drucker.Text -eq "Drucker Berlin") { + Add-ADGroupMember -Identity $ArrayDrucker[7] -Members $Benutzername + } + + if ($Drucker.Text -eq "Drucker Murnau") { + Add-ADGroupMember -Identity $ArrayDrucker[6] -Members $Benutzername + } + + if ($Drucker.Text -eq "Drucker Verwaltung") { + Add-ADGroupMember -Identity $ArrayDrucker[5] -Members $Benutzername + } + } + + #============================================================================================================================= + #Berufsgruppen + + if ($Berufsgruppe.Text -eq "Kompetenzteam CAD") { + foreach ($item in $ArrayCTXGruppenCAD) { Add-ADGroupMember -identity $item -Members $Benutzername } + } + + if ($Berufsgruppe.Text -eq "Kompetenzteam RLT") { + foreach ($item in $ArrayCTXGruppenSachbearbeiterHKSM) { Add-ADGroupMember -identity $item -Members $Benutzername } + } + + if ($Berufsgruppe.Text -eq "Kompetenzteam HKSM") { + foreach ($item in $ArrayCTXGruppenSachbearbeiterHKSM) { Add-ADGroupMember -identity $item -Members $Benutzername } + } + + if ($Berufsgruppe.Text -eq "Kompetenzteam Elektrotechnik") { + foreach ($item in $ArrayCTXGruppenSachbearbeiterELT) { Add-ADGroupMember -identity $item -Members $Benutzername } + } + + + if ($Berufsgruppe.Text -eq "Kompetenzteam Bauüberwachung") { + foreach ($item in $ArrayCTXGruppenBauueberwachung) { Add-ADGroupMember -identity $item -Members $Benutzername } + } + + #Erfolgsprüfung + + $erledigt = (Get-ADUser -Filter { SamAccountName -eq $Benutzername } | Measure-Object).count + + if ($erledigt -ne 0) { + #Fenster + + $Bestaetigung = New-Object System.Windows.Forms.Form + + #Startposition + $Bestaetigung.StartPosition = "CenterScreen" + + #Fenstergröße + $Bestaetigung.Size = New-Object System.Drawing.Size(400, 200) + + #Textfeld Userbestätigung + $Userbestaetigung = New-Object System.Windows.Forms.Label + $Userbestaetigung.Location = New-Object System.Drawing.Size(25, 25) + $Userbestaetigung.Size = New-Object System.Drawing.Size(250, 15) + $Userbestaetigung.Text = "Benutzer erfolgreich erstellt!" + $Bestaetigung.controls.Add($Userbestaetigung) + + #OK Button + + $OKButton = New-Object System.Windows.Forms.Button + $OKButton.Location = New-Object System.Drawing.Size(60, 60) + $OKButton.Size = New-Object System.Drawing.Size(75, 23) + $OKButton.Text = "OK" + $OKButton.Name = "OK" + $OKButton.DialogResult = "OK" + $OKButton.add_Click({ $Bestaetigung.Close() }) + $Bestaetigung.controls.Add($OKButton) + + [void] $Bestaetigung.ShowDialog() + } + #} + $objForm.Close() + + $Fehlercounter = 0 + } +) +$objForm.controls.Add($OKButton) + +[void] $objForm.ShowDialog() \ No newline at end of file