Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

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

Powershell Programm nur starten falls button geklickt wird

Frage Entwicklung

Mitglied: der123456

der123456 (Level 1) - Jetzt verbinden

24.01.2014 um 10:55 Uhr, 1776 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 ..
Neuester Wissensbeitrag
Internet

Unbemerkt - Telekom Netzumschaltung! - BNG - Broadband Network Gateway

(3)

Erfahrungsbericht von ashnod zum Thema Internet ...

Ähnliche Inhalte
Batch & Shell
gelöst Powershell Programm in Benutzersitzung beenden wenn Desktop gesperrt (2)

Frage von pixel0815 zum Thema Batch & Shell ...

Windows 10
Durch einschalten des xbox one controller ein programm starten (3)

Frage von xsoerenx zum Thema Windows 10 ...

Sicherheitsgrundlagen
Programm ohne UAC und Administratorrechte starten (3)

Anleitung von agowa338 zum Thema Sicherheitsgrundlagen ...

Heiß diskutierte Inhalte
Windows Server
Outlook Verbindungsversuch mit Exchange (15)

Frage von xbast1x zum Thema Windows Server ...

Microsoft Office
Keine Updates für Office 2016 (12)

Frage von Motte990 zum Thema Microsoft Office ...

Grafikkarten & Monitore
Tonprobleme bei Fernseher mit angeschlossenem Laptop über HDMI (11)

Frage von Y3shix zum Thema Grafikkarten & Monitore ...