Anlegen von Benutzer mit Powershell Formular
Hallo Zusammen,
ich möchte ein Formualr in Powershell erstellen um einen Benuter anzulegen:
Folgendes habe ich geschrieben:
Nun weiss ich nicht wie ich dden Namen und Benutzernamen übergeben kann.
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.
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 8038736637
Url: https://administrator.de/contentid/8038736637
Ausgedruckt am: 25.11.2024 um 03:11 Uhr
2 Kommentare
Neuester Kommentar
$textBox.Text
$textBox.Select()
Wenn man Variablen verwendet die es nicht gibt kein Wunder 🙃. Kaffee rüber schieb ... ☕$textBox.Select()
Nun weiss ich nicht wie ich dden Namen und Benutzernamen übergeben kann.
New-LocalUser -Name $Benutzername.Text -FullName $Name.Text -NoPassword
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()