#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()