Jump to content

Kleines Powershell Script mit GUI zum Anlegen eines neuen Benutzers


Empfohlene Beiträge

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

Link zu diesem Kommentar

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

 

Link zu diesem Kommentar
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!

Link zu diesem Kommentar
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:

Link zu diesem Kommentar

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

Link zu diesem Kommentar

Schreibe einen Kommentar

Du kannst jetzt antworten und Dich später registrieren. Falls Du bereits ein Mitglied bist, logge Dich jetzt ein.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung jetzt entfernen

  Only 75 emoji are allowed.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor-Fenster leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

×
×
  • Neu erstellen...