Robmantuto 1 Geschrieben 9. November 2016 Autor Melden Geschrieben 9. November 2016 (bearbeitet) So habe ich es gemacht: $btn4 = MakeButton "[4] Computernamen umbenennen" 100 50 $btn4.Add_Click({& 'E:\Skripte\03.A.Computernamen umbenennen.ps1' }) Das Script, das gestartet wird: Write-Output "---------------------" Write-Output "Wählen Sie bitte aus"; Write-Output "---------------------" Write-Output "Computer (bei einem Computer-Rechner)"; Write-Output "Computer001-010 (bei mehreren Computern)"; Write-Output "---------------------" [string]$Computername = Read-Host "Bitte geben Sie den Computernamen, der vergeben werden soll?" Rename-Computer -NewName $Computername Write-Output "_____________________________________________________"; Write-Output "Der Computername $Computername wurde zugewiesen." Write-Output "_____________________________________________________"; Write-Output "Bitte führen Sie einen Neustart des Computers durch"; Write-Output "_____________________________________________________"; Start-Sleep -s 5 Mit dem absoluten Pfad funktioniert es. Zwei Probleme habe ich: Das Fenster des Computername-Umbenennen-Scriptes geht nicht von alleine zu, wenn ich es schliesse, schließt sich auch mein Auswahlfenster. Das möchte verhindern. Zweites Problem: Die Write-Outputs werden nicht angezeigt, nur die Abfrage: "Bitte geben Sie den Computernamen, der vergeben werden soll?" Starte ich das Script alleine, dann funktioniert es. Eine andere Möglichkeit, wie hier schon erwähnt, wäre das separate Script in meinem Hauptscript einzubauen, leider weiß ich nicht wie ich unter AddClick einbauen soll. Einfügen des Inhalts hat nicht funktioniert. bearbeitet 9. November 2016 von Robmantuto
Beste Lösung Cybquest 36 Geschrieben 9. November 2016 Beste Lösung Melden Geschrieben 9. November 2016 (bearbeitet) Ich hätte gesagt, wenn schon mit Forms gearbeitet wird, dann alles ;-) Bsp. für Dein "Problem": clear [void][Reflection.Assembly]::LoadWithPartialName("System.Windows.Forms") $MainForm = New-Object System.Windows.Forms.Form $MainForm.width=250 $MainForm.height=200 $MainForm.Text = "PS Testformular" Function MakeButton($Form,[string]$btext,[int]$btop,[int]$bleft){ $btn = New-Object System.Windows.Forms.Button $btn.Text = $btext $btn.Top = $btop $btn.Left= $bleft $Form.Controls.Add($btn) return $btn } Function MakeTextbox($Form,[string]$tcaption,[int]$ttop,[int]$tleft) { $tbox = new-object System.Windows.Forms.Textbox $tblabel = new-object System.Windows.Forms.Label $tblabel.Text=$tcaption $tbox.Top = $ttop $tbox.Left= $tleft $tblabel.Top = $ttop -25 $tblabel.Left= $tleft $Form.Controls.Add($tblabel) $Form.Controls.Add($tbox) return $tbox } Function RenComputer() { $SubForm = New-Object System.Windows.Forms.Form $SubForm.width=250 $SubForm.height=200 $myNewName = MakeTextbox $SubForm "Neuer Name:" 40 10 $subbtn1 = MakeButton $SubForm "OK" 100 10 $subbtn1.Add_Click({ [System.Windows.Forms.MessageBox]::Show($myNewName.Text,"Rename to",0) # Rename-Computer -NewName $myNewName.Text }) $subbtn2 = MakeButton $SubForm "Schliessen" 100 100 $subbtn2.Add_Click({ $SubForm.Close() }) $SubForm.ShowDialog() } $btn1 = MakeButton $MainForm "Cmd" 30 10 $btn1.Add_Click({ [Diagnostics.Process]::Start("cmd.exe") }) $btn2 = MakeButton $MainForm "Rename" 60 10 $btn2.Add_Click({ RenComputer }) $btn3 = MakeButton $MainForm "ENDE" 120 10 $btn3.Add_Click({ $MainForm.Close() }) $MainForm.ShowDialog() ... musst im Prinzip "nur noch" das Kommentar-# vor "Rename-Comupter" weg machen :) ... und ggf. die "Messagebox"-Zeile rausharzen... bearbeitet 9. November 2016 von Cybquest
Robmantuto 1 Geschrieben 30. November 2016 Autor Melden Geschrieben 30. November 2016 Gibt es eine Möglichkeit zwei Befehle hintereinander mit einem Klick auszuführen? Z.B. einmal ein Programm starten und gleich danach etwas in die Registry eintragen oder ein anderes Programm starten.
Cybquest 36 Geschrieben 30. November 2016 Melden Geschrieben 30. November 2016 ?!?... ist die Frage ernst gemeint? $btnx.Add_Click({ [Diagnostics.Process]::Start("cmd.exe") [Diagnostics.Process]::Start("notepad.exe") MeineCooleFunktion })
Empfohlene Beiträge
Erstelle ein Benutzerkonto oder melde dich an, um zu kommentieren
Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können
Benutzerkonto erstellen
Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!
Neues Benutzerkonto erstellenAnmelden
Du hast bereits ein Benutzerkonto? Melde dich hier an.
Jetzt anmelden