Top-Themen

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

Frage Entwicklung

Powershell Programm nur starten falls button geklickt wird

Mitglied: der123456

der123456 (Level 1) - Jetzt verbinden

24.01.2014 um 10:55 Uhr, 2057 Aufrufe, 3 Kommentare

Hallo Zusammen

Ich habe eine Frage bezüglich Powershell. Wenn ich ein kleines weiteres Programm habe und dies nur ausführen möchte falls der Button geklickt wird, wie geht das?
Ich habe es versucht und dieses kleine Programm wird jedesmal beim Ausführen vom Skript ebenfalls ausgeführt, aber ich möchte das kleine Programm nur ausgeführt haben beim Button-click.

Ich möchte gerne, dass das kleine programm in eine Variable geschrieben wird z.B. $Programm1 = ....
und dann sage ich beim Button-click führe das $Programm1 aus.
Könnt Ihr mir da weiterhelfen?
Vielen Dank.

Mitglied: colinardo
24.01.2014, aktualisiert um 11:56 Uhr
Hallo der123456, Willkommen im Forum!
kleines Beispiel, der für dich relevante Code steht ab Zeile 18 im Event für den Button-Klick. Dort wird ein Script-Block in einer Variablen gespeichert und dann ausgeführt. Im Beispiel wird nur eine Message-Box angezeigt.
01.
function GenerateForm { 
02.
 
03.
#region Import the Assemblies 
04.
[reflection.assembly]::loadwithpartialname("System.Windows.Forms") | Out-Null 
05.
[reflection.assembly]::loadwithpartialname("System.Drawing") | Out-Null 
06.
#endregion 
07.
 
08.
#region Form Objects 
09.
$form1 = New-Object System.Windows.Forms.Form 
10.
$btnStartScript = New-Object System.Windows.Forms.Button 
11.
$InitialFormWindowState = New-Object System.Windows.Forms.FormWindowState 
12.
#endregion Generated Form Objects 
13.
 
14.
#---------------------------------------------- 
15.
# Event Script Blocks 
16.
#---------------------------------------------- 
17.
 
18.
$btnStartScript_OnClick=  
19.
20.
    $myProgram = { [System.Windows.Forms.MessageBox]::Show("Das Programm wurde ausgeführt") } 
21.
    &$myProgram 
22.
23.
 
24.
$OnLoadForm_StateCorrection= 
25.
{#Correct the initial state of the form to prevent the .Net maximized form issue 
26.
	$form1.WindowState = $InitialFormWindowState 
27.
28.
 
29.
#---------------------------------------------- 
30.
#region Form Code 
31.
$System_Drawing_Size = New-Object System.Drawing.Size 
32.
$System_Drawing_Size.Height = 76 
33.
$System_Drawing_Size.Width = 224 
34.
$form1.ClientSize = $System_Drawing_Size 
35.
$form1.DataBindings.DefaultDataSourceUpdateMode = 0 
36.
$form1.MaximizeBox = $False 
37.
$form1.MinimizeBox = $False 
38.
$form1.Name = "form1" 
39.
$form1.Text = "Demo Form" 
40.
 
41.
 
42.
$btnStartScript.DataBindings.DefaultDataSourceUpdateMode = 0 
43.
 
44.
$System_Drawing_Point = New-Object System.Drawing.Point 
45.
$System_Drawing_Point.X = 53 
46.
$System_Drawing_Point.Y = 25 
47.
$btnStartScript.Location = $System_Drawing_Point 
48.
$btnStartScript.Name = "btnStartScript" 
49.
$System_Drawing_Size = New-Object System.Drawing.Size 
50.
$System_Drawing_Size.Height = 23 
51.
$System_Drawing_Size.Width = 115 
52.
$btnStartScript.Size = $System_Drawing_Size 
53.
$btnStartScript.TabIndex = 0 
54.
$btnStartScript.Text = "Starte Programm" 
55.
$btnStartScript.UseVisualStyleBackColor = $True 
56.
$btnStartScript.add_Click($btnStartScript_OnClick) 
57.
 
58.
$form1.Controls.Add($btnStartScript) 
59.
 
60.
#endregion Form Code 
61.
 
62.
#Save the initial state of the form 
63.
$InitialFormWindowState = $form1.WindowState 
64.
#Init the OnLoad event to correct the initial state of the form 
65.
$form1.add_Load($OnLoadForm_StateCorrection) 
66.
#Show the Form 
67.
$form1.ShowDialog()| Out-Null 
68.
 
69.
} #End Function 
70.
 
71.
#Call the Form-Function 
72.
GenerateForm
Grüße Uwe
Bitte warten ..
Mitglied: der123456
24.01.2014 um 14:14 Uhr
Hallo Uwe

Danke! Aber bei mir hat es nicht geklappt. Kann man ein ganzes Programm/Skript in eine Variable einschreiben.... nd dann beim Button klick sollte das ganze Programm durchlaufen... Wie geht das?
Danke nochmals

Gruss der123456
Bitte warten ..
Mitglied: colinardo
24.01.2014, aktualisiert 25.01.2014
Zitat von der123456:
Danke! Aber bei mir hat es nicht geklappt. Kann man ein ganzes Programm/Skript in eine Variable einschreiben.... nd dann beim
Button klick sollte das ganze Programm durchlaufen... Wie geht das?
Danke nochmals
bitte beschreibe dein Vorhaben genauer; wo soll dieser Button sein ? in einer Form ? woanders? bitte mehr Info. Das obige Script läuft einwandfrei, du musst halt einen Fehler bei deiner Umsetzung gemacht haben.
Ich habe es oben ja erläutert was du machen musst und wo du es einfügen musst...

ein Script packt man so in eine Variable:
01.
$variable =  { 
02.
 # Dein Scriptblock  
03.
 write-host "Test" 
04.
}
und so führst du so ein Scriptblock aus (man beachte das &-Zeichen):
&$variable
Bitte warten ..
Ähnliche Inhalte
Windows Server
Powershell Programm über Citrix starten
Frage von Florian86Windows Server2 Kommentare

Hallo, ich habe eine Verknüpfung auf unseren Citrixserver welche ich über die Powershell starte und über Citrix verteile. Eine ...

Batch & Shell
Powershell: Nur max. einen Runspace per Button starten?
Frage von Markus2016Batch & Shell5 Kommentare

Hallo zusammen, seit langen habe ich mal wieder Zeit gefunden an meiner GUI weiter zu arbeiten. In der GUI ...

Batch & Shell
Programm reagiert nicht - per Powershell neu starten?
gelöst Frage von NathalemBatch & Shell2 Kommentare

Hallo liebe Administratoren, wir haben auf verschiedenen Windows Servern Anwendungen laufen die, die Gewohnheit haben sich ab und zu ...

Batch & Shell
Powershell Button um Listbox einträge auszuwählen
gelöst Frage von BuggerBatch & Shell4 Kommentare

Hallo, ist es möglich Einträge in einer Listbox per extra Button auszuwählen? In einer langen Liste hätte man so ...

Neue Wissensbeiträge
CPU, RAM, Mainboards

Meltdown und Spectre: Intel zieht Microcode-Updates für Prozessoren zurück

Information von keine-ahnung vor 2 StundenCPU, RAM, Mainboards1 Kommentar

Moin, extrem lutztig. Nur gut, dass ich noch nicht beim Probanden-Bingo mitgemacht habe :-) LG, Thomas

Router & Routing

PfSense als Addon auf QNAP

Information von magicteddy vor 16 StundenRouter & Routing3 Kommentare

Moin, für Spielereien eine ganz nette Idee aber ich fürchte das soetwas auch als echte Firewall genutzt wird: In ...

Datenschutz

Teamviewer kommt für IoT-Geräte wie den Raspberry Pi

Information von magicteddy vor 23 StundenDatenschutz1 Kommentar

Moin, jetzt werden IoT Geräte endgültig zur Wanze? Anscheinend kann man auf einem Dashboard seine Geräte visualisieren Ich stelle ...

Microsoft

Letzte Updates für Win10 und Server2016 müssen bei Bedarf über den Update catalogue in den WSUS importiert werden!

Tipp von DerWoWusste vor 1 TagMicrosoft1 Kommentar

automatisch kommt da nichts an im WSUS und auch nicht im SCCM. Siehe Hinweise zum Bezug der jeweils neuesten ...

Heiß diskutierte Inhalte
Netzwerkmanagement
Preis für Wartungsvertrag ok?
gelöst Frage von a-za-zNetzwerkmanagement25 Kommentare

Hallo! Mal ne Frage, weil ich mich mit dem akzeptablen Preis für einen Reaktionszeitvertrag nicht auskenne. Meine Firma hat ...

Windows Server
TEMP-Profile
Frage von Forseti2003Windows Server17 Kommentare

Guten Morgen, wer kennt sie nicht, die lieben Temporären Benutzerprofile, vorallem immer dann, wenn man sie am wenigsten braucht. ...

Multimedia & Zubehör
Welches Tablet für die Verkäufer?
Frage von Hendrik2586Multimedia & Zubehör14 Kommentare

Guten Morgen meine Lieben, vielleicht könnt ihr mir ja helfen. Es geht um unsere Außendienstmitarbeiter /Verkäufer. Sie sollen demnächst ...

Windows Netzwerk
Ist ein Portforwarding auf einen PC ohne lauschendes Programm ein (großes) Sicherheitsproblem?
Frage von PluwimWindows Netzwerk13 Kommentare

Hallo zusammen, zur Fernwartung eines Rechners an einem anderen Ort nutze ich VNC. Da dieser Rechner einfach nur eine ...