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, 1847 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
Batch & Shell
Powershell: Nur max. einen Runspace per Button starten? (5)

Frage von Markus2016 zum Thema Batch & Shell ...

Sicherheitsgrundlagen
Programm ohne UAC und Administratorrechte starten (3)

Anleitung von agowa338 zum Thema Sicherheitsgrundlagen ...

Batch & Shell
Frage zum Einsatz von Powershell, welche Version verwenden (3)

Frage von Penny.Cilin zum Thema Batch & Shell ...

Microsoft
Drucker Über Powershell installieren (5)

Frage von Asker06 zum Thema Microsoft ...

Neue Wissensbeiträge
Batch & Shell

Batch als Dienst bei Systemstart ohne Anmeldung ausführen

(1)

Tipp von tralveller zum Thema Batch & Shell ...

Sicherheits-Tools

Sicherheitstest von Passwörtern für ganze DB-Tabellen

(1)

Tipp von gdconsult zum Thema Sicherheits-Tools ...

Peripheriegeräte

Was beachten bei der Wahl einer USV Anlage im Serverschrank

(9)

Tipp von zetboxit zum Thema Peripheriegeräte ...

Heiß diskutierte Inhalte
Exchange Server
Exchange 2016 Standard Server 2012 R2 Hetzner Mail (36)

Frage von Datsspeed zum Thema Exchange Server ...

Verschlüsselung & Zertifikate
Mit Veracrypt eine zweite interne (non-system) Festplatte verschlüsseln (10)

Frage von Bernulf zum Thema Verschlüsselung & Zertifikate ...

Windows 7
Lokales Adminprofil defekt (9)

Frage von Yannosch zum Thema Windows 7 ...

Internet Domänen
Nameserver ein Geist? (8)

Frage von zelamedia zum Thema Internet Domänen ...