Inhalt aus Textbox in Variable Speichern PowerShell
Guten Abend zusammen, ich habe ein Problem bei meiner PowerShell UI, ich kann kein Text in den Textboxen speichern. Ich hatte bereits versucht die Funktionalität des Buttons zu prüfen, dieser geht. Warum er allerdings nicht in der vorgesehen variable speichert, ist mir ein Rätsel.
Add-Type -AssemblyName System.Windows.Forms
# Create a new form object
$form = New-Object System.Windows.Forms.Form
$Uebersicht = New-Object System.Windows.Forms.Form
# Set the form properties
$Uebersicht.Text = "Neuer AD Nutzer"
$Uebersicht.Size = New-Object System.Drawing.Size(500,400)
$Uebersicht.StartPosition = "CenterScreen"
#-------------------------------------------------------------
#Button
#-------------------------------------------------------------
$NeuerNutzer = New-Object System.Windows.Forms.Button
$NeuerNutzer.Location = New-Object System.Drawing.Size(35,150)
$NeuerNutzer.Size = New-Object System.Drawing.Size(130,23)
$NeuerNutzer.Text = "Neuen Nutzer erstellen"
$Uebersicht.Controls.Add($NeuerNutzer)
#Add Button event
$NutzerSpeeren = New-Object System.Windows.Forms.Button
$NutzerSpeeren.Location = New-Object System.Drawing.Size(100,150)
$NutzerSpeeren.Size = New-Object System.Drawing.Size(130,23)
$NUtzerSpeeren.Text = "Neuen Nutzer erstellen"
$Uebersicht.Controls.Add($NutzerSpeeren)
$NutzerSpeeren.Add_Click({
$Uebersicht.Controls.Remove($NutzerSpeeren)
$Uebersicht.Controls.Remove($NeuerNutzer)
#-------------------------------------------------------------
$pictureBox = New-Object System.Windows.Forms.PictureBox
$pictureBox.Size = New-Object System.Drawing.Size(300,200)
$pictureBox.Location = New-Object System.Drawing.Point(300,50)
$Uebersicht.Controls.Add($pictureBox)
$image = [System.Drawing.Image]::FromFile("C:\Users\Administrator\Desktop\images(2).png")
$pictureBox.Image = $image
#-------------------------------------------------------------
$Ueberschrift = New-Object System.Windows.Forms.Label
$Ueberschrift.Text = "Nutzer Speeren"
$Ueberschrift.Font = New-Object System.Drawing.Font("Arial", 16, [System.Drawing.FontStyle]::Bold)
$Ueberschrift.AutoSize = $true
$Ueberschrift.Location = New-Object System.Drawing.Point(150, 10)
$Uebersicht.Controls.Add($Ueberschrift)
#-------------------------------------------------------------
$NutzerSpeerenONLYTEXT= New-Object System.Windows.Forms.Label
$NutzerSpeerenONLYTEXT.Text = "Vornamen"
$NutzerSpeerenONLYTEXT.AutoSize = $true
$NutzerSpeerenONLYTEXT.Location = New-Object System.Drawing.Point(10,50)
$Uebersicht.Controls.Add($NutzerSpeerenONLYTEXT)
#-------------------------------------------------------------
$NutzerSpeerenONLYTEXT1= New-Object System.Windows.Forms.Label
$NutzerSpeerenONLYTEXT1.Text = "Nachnamen"
$NutzerSpeerenONLYTEXT1.AutoSize = $true
$NutzerSpeerenONLYTEXT1.Location = New-Object System.Drawing.Point(10,100)
$Uebersicht.Controls.Add($NutzerSpeerenONLYTEXT1)
#-------------------------------------------------------------
$VornamenNeuText = New-Object System.Windows.Forms.TextBox
$VornamenNeuText.Location = New-Object System.Drawing.Point(10,80)
$VornamenNeuText.Size = New-Object System.Drawing.Size(260,20)
$Uebersicht.Controls.Add($VornamenNeuText)
#-------------------------------------------------------------
$NachnameNeuTEXT = New-Object System.Windows.Forms.TextBox
$NachnameNeuTEXT.Location = New-Object System.Drawing.Point(10,130)
$NachnameNeuTEXT.Size = New-Object System.Drawing.Size(260,20)
$Uebersicht.Controls.Add($NachnameNeuTEXT)
#-------------------------------------------------------------
$NutzerSpeeren = New-Object System.Windows.Forms.Button
$NutzerSpeeren.Location = New-Object System.Drawing.Size(100,150)
$NutzerSpeeren.Size = New-Object System.Drawing.Size(130,23)
$NutzerSpeeren.Text = "Absenden"
$Uebersicht.Controls.Add($NutzerSpeeren)
$NutzerSpeeren.Add_Click({
$NameNeu = $VornameNeuTEXT.Text + '.' + $NachnameNeuTEXT.Text
$ADuser = Get-ADUser -Identity $NameNeu -ErrorAction SilentlyContinue})
})
#-------------------------------------------------------------
$Uebersicht.ShowDialog()
Please also mark the comments that contributed to the solution of the article
Content-ID: 4896551196
Url: https://administrator.de/contentid/4896551196
Printed on: December 3, 2024 at 08:12 o'clock
2 Comments
Latest comment
Das liegt am Variable Scope du definierst/änderst die Variable nur im Subscope des Add_Click Events, im Parent Scope existiert sie dann nicht. Hier kannst du bspw. mit $global:var usw. arbeiten
Lies dich hier ein dann verstehst du was ich meine https://learn.microsoft.com/en-us/powershell/module/microsoft.powershell ...
Gruß s.
Lies dich hier ein dann verstehst du was ich meine https://learn.microsoft.com/en-us/powershell/module/microsoft.powershell ...
$global:NameNeu = ''
# .....
$NutzerSpeeren.Add_Click({
$global:NameNeu = $VornameNeuTEXT.Text + '.' + $NachnameNeuTEXT.Text
# ......
})
Gruß s.