Jump to content

Kleines Powershell Script mit GUI zum Anlegen eines neuen Benutzers


Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte erstelle einen neuen Beitrag zu Deiner Anfrage!

Empfohlene BeitrÀge

Geschrieben

Hallo zusammen,

 

ich habe ein kleines Problemchen mit meinem Powershell Script.

Ich habe mittels PWSH eine GUI zeichnen lassen, welche die vorhandenen UPN Domains abruft (zwei StĂŒck an der Zahl), ebenso wie die ganzen OU's im LDAP Format. (Hier wird ein weiteres PS Script aufgerufen)

Das funktioniert auch einwandfrei. Desweitern habe ich variablen vergeben um dann die Benutzer anzulegen, ebenfalls ĂŒber ein weiteres Script. Und da kommen wir zu meinem Problem. - Es will einfach nicht funktionieren. :(

 

Hier einmal der Code:

 

Script 1:

$button_erstellen.Add_Click({
	$Vorname = $textbox_vorname.Text
	$Nachname = $textbox_nachname.Text
	$Benutzername = $textbox_benutzername.Text
	$Domain = $comboBox_domain.Text
	$Email = $textbox_dienstmail.Text
	$ExtensionAttribut5 = $textbox_privatmail.Text
	$OU = $combobox_OU.selectedItem
	$Passwort = $passwordBox.text
    $FullName = "$($textbox_vorname.Text) $($textbox_nachname.Text)"
    $SamAccountName = $textbox_benutzername.Text
    $UserPrincipalName = "$SamAccountName@$($comboBox_domain.Text)"
    
     # Construct the argument list for CreateUser.ps1
    $arguments = @(
        "-Vorname", $Vorname,
        "-Nachname", $Nachname,
        "-Benutzername", $Benutzername,
        "-Domain", $Domain,
        "-Email", $Email,
        "-ExtensionAttribut5", $ExtensionAttribut5,
        "-OU", $OU,
        "-Passwort", $Passwort
    )
    Start-Process powershell -ArgumentList "-File", ".\CreateUser.ps1", $arguments
})

 

Und hier einmal der Code in CreateUser:

 

param (
    [string]$Vorname,
    [string]$Nachname,
    [string]$Benutzername,
    [string]$Domain,
    [string]$Email,
    [string]$ExtensionAttribut5,
    [string]$OU,
    [string]$Passwort
)

# Construct the full Distinguished Name (DN)
$distinguishedName = "CN=$Vorname $Nachname,$OU"

# Create the user
New-ADUser `
    -Name "$Vorname $Nachname" `
    -GivenName $Vorname `
    -Surname $Nachname `
    -SamAccountName $Benutzername `
    -UserPrincipalName "$Benutzername@$Domain" `
    -EmailAddress $Email `
    -Path $distinguishedName `
    -AccountPassword (ConvertTo-SecureString $Passwort -AsPlainText -Force) `
    -Enabled $true `
    -PasswordNeverExpires $true `
    -ChangePasswordAtLogon $false `
    -OtherAttributes @{'extensionAttribute5'=$ExtensionAttribut5}

# Set the password
#Set-ADAccountPassword -Identity $Benutzername -NewPassword (ConvertTo-SecureString $Passwort -AsPlainText -Force)

 

Leider finde ich aktuell meinen Fehler nicht.

 

Liebe GrĂŒĂŸe

Joe

Geschrieben

Dann nimm doch einfach mal eine Entwicklungsumgebung, entweder die ISE oder Visual Studio Code mit den passenden AddOns. Vermutlich fehlt das wichtigste, das AD. In welcher PS fĂŒhrst Du das Script aus? Auf einem normalen Client/Server oder auf einem DC in der PS fĂŒr das AD?

Geschrieben

Moin Nobby,

 

sorry, aber:

vor 14 Minuten schrieb Nobbyaushb:

Bin nicht so der scripter

 

das merkt man, denn ...

 

vor 14 Minuten schrieb Nobbyaushb:

aber meines Wissens mĂŒssen die passen Module geladen sein/werden

 

... seit einigen Jahren macht die PowerShell das selbst, wenn das jeweilige Modul auf dem System installiert ist.

 

vor 16 Minuten schrieb Nobbyaushb:

heiß hier auf dem Parkplatz

 

Es ist nicht immer von Nachteil, ein Schattenparker zu sein. :lol3:

 

Gruß, Nils

 

  • Haha 1
Geschrieben
vor einer Stunde schrieb metaljoe:

Um zu schauen ob's ĂŒberhaupt funktioniert, scripte ich das ganze erstmal direkt auf dem DC. Daran kann's schonmal nicht liegen 😊

Sobald ich neue Erkenntnisse habe, melde ich mich.

 

Hast du mit den vorgeschlagenen Möglichkeiten bisher schon eine Fehlermeldung oder etwas anderes bekommen, außer ein, gleich schliessendes Powershell Fenster?

Gehen die Befehle einzeln auf dem ursprĂŒnglichen System?

 

Ein Schritt nach dem anderen und nicht gleich auf einen DC wechseln!

Geschrieben

Ich wĂŒrd ja einfach den Code von CreateUser in die ISE kopieren, die Variablen passend fĂŒllen und das mal ausfĂŒhren.

Spoiler-Alert: -Path ist nicht der DN des Users, sondern der DN der OU, in der er erstellt werden soll.

Geschrieben
vor 5 Stunden schrieb NilsK:

Moin Nobby, sorry, aber: das merkt man, denn ...

... seit einigen Jahren macht die PowerShell das selbst, wenn das jeweilige Modul auf dem System installiert ist.

Alles gut - ich lasse das ja meist von den Profis machen...

Und wenn ich in meiner Mini(Lab) Umgebung was brauche lese (klaue) ich hier - Try and Error...

Wenn das nicht hilft, schreibe ich jemanden an der sich mit sowas auskennt...:cool:

Geschrieben

Moin zusammen 😊

ich habs jetzt zumindest insoweit abgeÀndert, dass es "theoretisch" funktionieren sollte.

Hier einmal der Code:

# Create the user
$arguments = @{
    Name = 'Joe Test'
    GivenName = 'Joe'
    Surname = 'Test'
    SamAccountName = 'j.test'
    UserPrincipalName = 'j.test@besipiel.de'
    EmailAddress = 'j.test@beispiel.de'
    Path = 'OU=Users, DC=beispiel, DC=local'
    AccountPassword = (ConvertTo-SecureString 'Test123' -AsPlainText -Force)
    Enabled = $true
    PasswordNeverExpires = $true
    ChangePasswordAtLogon = $false
    }

New-ADUser $arguments

Jetzt kommt die folgende Meldung:

 

image.thumb.png.dd45f8d99546eece8ee9c8842b7e74b2.png

 

BTW: Der User mit dem ich angemeldet bin, hat Domain-Admin Rechte.

 

Liebe GrĂŒĂŸe

Joe

Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte erstelle einen neuen Beitrag zu Deiner Anfrage!

Erstelle ein Benutzerkonto oder melde dich an, um zu kommentieren

Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können

Benutzerkonto erstellen

Neues Benutzerkonto fĂŒr unsere Community erstellen. Es ist einfach!

Neues Benutzerkonto erstellen

Anmelden

Du hast bereits ein Benutzerkonto? Melde dich hier an.

Jetzt anmelden
×
×
  • Neu erstellen...