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()
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 4896551196
Url: https://administrator.de/contentid/4896551196
Ausgedruckt am: 21.11.2024 um 23:11 Uhr
2 Kommentare
Neuester Kommentar
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.