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

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

 

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
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!

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...