huasss
Goto Top

Anlegen von Benutzer mit Powershell Formular

Hallo Zusammen,
ich möchte ein Formualr in Powershell erstellen um einen Benuter anzulegen:

Folgendes habe ich geschrieben:
Add-Type -AssemblyName System.Windows.Forms
Add-Type -AssemblyName System.Drawing

$form = New-Object System.Windows.Forms.Form
$form.Text = 'lokaler Benutzer'  
$form.Size = New-Object System.Drawing.Size(300,200)
$form.StartPosition = 'CenterScreen'  

$okButton = New-Object System.Windows.Forms.Button
$okButton.Location = New-Object System.Drawing.Point(75,120)
$okButton.Size = New-Object System.Drawing.Size(75,23)
$okButton.Text = 'OK'  
$okButton.DialogResult = [System.Windows.Forms.DialogResult]::OK
$form.AcceptButton = $okButton
$form.Controls.Add($okButton)

$cancelButton = New-Object System.Windows.Forms.Button
$cancelButton.Location = New-Object System.Drawing.Point(150,120)
$cancelButton.Size = New-Object System.Drawing.Size(75,23)
$cancelButton.Text = 'Cancel'  
$cancelButton.DialogResult = [System.Windows.Forms.DialogResult]::Cancel
$form.CancelButton = $cancelButton
$form.Controls.Add($cancelButton)

$label = New-Object System.Windows.Forms.Label
$label.Location = New-Object System.Drawing.Point(10,20)
$label.Size = New-Object System.Drawing.Size(280,20)
$label.Text = 'Benutzername:'  
$form.Controls.Add($label)


$label = New-Object System.Windows.Forms.Label
$label.Location = New-Object System.Drawing.Point(10,70)
$label.Size = New-Object System.Drawing.Size(280,20)
$label.Text = 'vollständiger Name:'  
$form.Controls.Add($label)

$Benutzername = New-Object System.Windows.Forms.TextBox
$Benutzername.Location = New-Object System.Drawing.Point(10,40)
$Benutzername.Size = New-Object System.Drawing.Size(260,20)
$form.Controls.Add($Benutzername)

$Name = New-Object System.Windows.Forms.TextBox
$Name.Location = New-Object System.Drawing.Point(10,90)
$Name.Size = New-Object System.Drawing.Size(260,20)
$form.Controls.Add($Name)


$form.Topmost = $true

$form.Add_Shown({$textBox.Select()})
$result = $form.ShowDialog()

if ($result -eq [System.Windows.Forms.DialogResult]::OK)
{
    $x = $textBox.Text
    $x
}

New-LocalUser $Benutzername   -FullName $Name

Nun weiss ich nicht wie ich dden Namen und Benutzernamen übergeben kann.

Content-ID: 8038736637

Url: https://administrator.de/contentid/8038736637

Ausgedruckt am: 25.11.2024 um 03:11 Uhr

7907292512
7907292512 03.08.2023 aktualisiert um 13:48:36 Uhr
Goto Top
$textBox.Text
$textBox.Select()
Wenn man Variablen verwendet die es nicht gibt kein Wunder 🙃. Kaffee rüber schieb ... ☕

Nun weiss ich nicht wie ich dden Namen und Benutzernamen übergeben kann.
New-LocalUser -Name $Benutzername.Text -FullName $Name.Text -NoPassword
s.

Add-Type -AssemblyName System.Windows.Forms
Add-Type -AssemblyName System.Drawing

$form = [System.Windows.Forms.Form]@{
    Text = 'lokaler Benutzer'  
    Size = '300,200'  
    StartPosition = 'CenterScreen'  
}
$okButton = [System.Windows.Forms.Button]@{
    Location = '75,120'  
    Size = '75,23'  
    Text = 'OK'  
}
$cancelButton = [System.Windows.Forms.Button]@{
    Location = '150,120'  
    Size = '75,23'  
    Text = 'Cancel'  
    DialogResult = [System.Windows.Forms.DialogResult]::Cancel
}
$label1 = [System.Windows.Forms.Label]@{
    Location = '10,20'  
    Size = '280,20'  
    Text = 'Benutzername:'  
}
$label2 = [System.Windows.Forms.Label]@{
    Location = '10,70'  
    Size = '280,20'  
    Text = 'vollständiger Name:'  
}
$Benutzername = [System.Windows.Forms.TextBox]@{
    Location = '10,40'  
    Size = '260,20'  
}
$Name = [System.Windows.Forms.TextBox]@{
    Location = '10,90'  
    Size = '260,20'  
}
$form.CancelButton = $cancelButton
$form.Topmost = $true
$form.Add_Shown({$benutzername.Select()})
$okButton.add_Click({
    if($Benutzername.Text -match '["/\\\[\]:;|=,\+\*\?<>]|^\s*$'){  
        [System.Windows.Forms.MessageBox]::Show("Benutzername enthält ungültige Zeichen/ist leer!","Fehler",0,48)  
    }elseif(Get-LocalUser -Name $Benutzername.Text -EA SilentlyContinue){
        [System.Windows.Forms.MessageBox]::Show("Benutzername ist schon vergeben!","Fehler",0,48)  
    }else{
        try{
            New-LocalUser -Name $Benutzername.Text -FullName $Name.Text -NoPassword -EA Stop
            [System.Windows.Forms.MessageBox]::Show("Benutzer '$($Benutzername.Text)' wurde erfolgreich angelegt!","Info",0,64)  
        }catch{
            [System.Windows.Forms.MessageBox]::Show("Fehler: $($_.Exception.Message)","Info",0,64)  
        }
    }
})
$form.Controls.AddRange(@($okButton,$cancelButton,$label1,$label2,$Benutzername,$name))
[void]$form.ShowDialog()
SlainteMhath
SlainteMhath 03.08.2023 um 12:48:12 Uhr
Goto Top
Moin,

und nebenbei wird der User angelegt, egal ob man "ok" oder "cancel" klickt. Und dann wären noch < code > Tags schick face-smile

lg,
Slainte