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
GELÖST

Programm öffnen - Taskmgr

Frage Microsoft Windows 7

Mitglied: Questionmark93

Questionmark93 (Level 1) - Jetzt verbinden

15.09.2014, aktualisiert 16.09.2014, 1492 Aufrufe, 81 Kommentare, 15 Danke

Hallo Leute =)

Wie kann ich ein Programm über den Taskmanager starten; für einen anderen Benutzer
(so wie ich ein Programm schließen kann, muss ich es ja auch irgendwie öffnen können)

Ich bin der Admin und möchte Outlook bei jemand anderem starten.

Vielen Dank schon einmal im Voraus =)
81 Antworten
Mitglied: xbast1x
15.09.2014 um 16:07 Uhr
Spontan würde ich die .exe direkt im Windows starten.

Im Taskmanager, würde ich meinen Ausführen als -> dann öffnen und Neuen Task starten
Bitte warten ..
Mitglied: Questionmark93
15.09.2014 um 16:11 Uhr
soweit war ich schon, aber das es für einen anderen Benutzer aufgeht.

Ich sende eine Mail im Netzwerk.
Schaue die Prozesse an und sehe das Outlook nicht läuft.
Ich will Outlook bei einem anderen öffnen, das die Mail
gelesen wird.

So meine ich das.
Bitte warten ..
Mitglied: ITvortex
15.09.2014 um 16:20 Uhr
Also verstehe ich dich richtig wenn ich annehme das du von deinem Server (?) über den Taskmanager bei einem User irgendwo auf einem PC über das Netzwerk Outlook starten willst??
Bitte warten ..
Mitglied: Phalanx82
15.09.2014 um 17:08 Uhr
Hallo,

3 Möglichkeiten:

1. Outlook in den Autostart packen

2. Arbeitsanweisung an alle ausgeben dass Outlook regelmäßig auf Mails zu prüfen ist.

3. wenns was wichtiges ist, anrufen. Mails sind Nicht wichtig ;)


Mit freundlichen Grüßen.
Bitte warten ..
Mitglied: DerWoWusste
15.09.2014 um 19:00 Uhr
Damit das in dessen Namen interaktiv gestartet wird, erstelle einen geplanten Task und gib als ausführendes Konto ihn an und setz' den Haklen bei "nur ausführen wenn angemeldet", starte dann den Task. Ein anderer Weg will mir gerade nicht einfallen.
Bitte warten ..
Mitglied: Questionmark93
16.09.2014 um 08:04 Uhr
Zitat von ITvortex:

Also verstehe ich dich richtig wenn ich annehme das du von deinem Server (?) über den Taskmanager bei einem User irgendwo auf
einem PC über das Netzwerk Outlook starten willst??

Ja genau das meine ich, gibt es für den Taskmgr keine parameter oder so?
Bitte warten ..
Mitglied: skahle85
16.09.2014 um 11:13 Uhr
Schonmal die PsTools verwendet / probiert?

http://technet.microsoft.com/de-de/sysinternals/bb896649.aspx

Gruß
Bitte warten ..
Mitglied: skahle85
16.09.2014 um 11:53 Uhr
Ach und ansonsten würde ich das klassische Anmeldescript per GPO empfehlen.
Bitte warten ..
Mitglied: DerWoWusste
LÖSUNG 16.09.2014, aktualisiert um 13:21 Uhr
Es geht ja nicht um Autostart, sondern um on-demand-start in eine andere Sitzung hinein. Mein Taskansatz löst das, mit psexec geht das evtl. auch mit dem Schalter -i.
Bitte warten ..
Mitglied: ITvortex
LÖSUNG 16.09.2014, aktualisiert um 13:21 Uhr
Mit psexec geht es auch.
Bitte warten ..
Mitglied: Questionmark93
16.09.2014 um 13:21 Uhr
Danke genau das wollte ich =)
Bitte warten ..
Mitglied: Questionmark93
16.09.2014 um 13:26 Uhr
eine Frage noch, wie genau lautet der befehl? =)

Programm: Outlook.exe
Benutzer: Andre
Programmpfad: C:\Program Files (x86)\Microsoft Office\Office14
Bitte warten ..
Mitglied: Questionmark93
16.09.2014 um 14:10 Uhr
ja da war ich schon aber ich versteh das nicht :D
ich bin darin noch nicht so der Experte was die cmd
betrifft
Bitte warten ..
Mitglied: ITvortex
16.09.2014 um 14:15 Uhr
Outlook starten

01.
psexec.exe \\<Remotecomputer> -u <Benutzername> -p <Kennwort> <Programm>
Wenn es eine Datei sein soll.

01.
Psexec [\\<Computer>| @<Datei> -u <Benutzername> -p <Kennwort>
Bitte warten ..
Mitglied: Questionmark93
16.09.2014 um 14:25 Uhr
psexec.exe \\<andre-w-pc> -u <andre> <outlook.exe> ? so?
Bitte warten ..
Mitglied: ITvortex
16.09.2014, aktualisiert um 14:30 Uhr
Du musst schon angeben wo "outlook.exe" exe liegt, und die Tags (<,>) sind nur als Platzhalter gedacht.

01.
 
02.
psexec \\Computername -u Benutzername -p Kennwort Programmpfad
Bitte warten ..
Mitglied: ITvortex
16.09.2014, aktualisiert um 14:34 Uhr
01.
PsExec.exe \\Martin-PC -u Martin -p testPasswort C:\Users\Martin\Desktop\"Mein Programmordner"\test.exe
so bitte.

Berechtigungen müssen natürlich da sein, sonst bekommst du "Zugriff verweigert"

Liebe Grüße

Martin
Bitte warten ..
Mitglied: DerWoWusste
LÖSUNG 16.09.2014, aktualisiert um 15:03 Uhr
Ach so...Du kennst also alle Benutzerkennwörter
Nee, mach es mit -i, ganz ohne -u und -p.
Bitte warten ..
Mitglied: ITvortex
LÖSUNG 16.09.2014, aktualisiert um 15:03 Uhr
@DerWoWusste Das ist richtig, die Benutzerkennwörter benötigst du bei der obigen Version, hab nich dran gedacht danke

01.
 PsExec.exe -i \\Computername C:\Programmordner\irgendeinProgramm.exe
Ohne Userdaten. Die Berechtigungen für den Zugriff musst du natürlich haben.

Gruß
Bitte warten ..
Mitglied: Questionmark93
16.09.2014 um 15:03 Uhr
Perfekt Danke, so wollte ich das )

Danke euch =)
Bitte warten ..
Mitglied: Questionmark93
16.09.2014 um 15:11 Uhr
Kann ich das ganze auch mit VBA machen?

Sprich ich mache ein Skript mit (Bitte geben Sie einen Benutzer ein) und er sucht mir den Computername aus einer Liste
und ein Skript mit (Bitte wählen Sie ein Programm aus) und er sucht mir ein Proramm raus von den Pfaden die in einer Liste angegeben sind?
Bitte warten ..
Mitglied: 117455
16.09.2014 um 19:56 Uhr
Ohne die < und >
Bitte warten ..
Mitglied: ITvortex
17.09.2014 um 08:43 Uhr
Du kannst schon, nur ob das nicht overkill für deine Andorderung wäre?

Gruß
Bitte warten ..
Mitglied: Questionmark93
17.09.2014 um 08:47 Uhr
:D ou man

naja okay dann eben nicht
Bitte warten ..
Mitglied: skahle85
17.09.2014 um 08:47 Uhr
Alles kann, nichts muss :D.

Wie gut kennst du dich denn mit der Powershell + GUI aus?
Bitte warten ..
Mitglied: Questionmark93
17.09.2014 um 08:49 Uhr
mh eher weniger gut deswegen frag ich hier ^^

ich wollte es eig mit Bordmitteln schaffen xD
Bitte warten ..
Mitglied: ITvortex
17.09.2014 um 08:52 Uhr
Ja dann musst du dich selbst einlesen, ich weiß nicht ob @colinardo wieder mal bock hat, aber ich hab leider nicht die Zeit um dir as Skript zu schreiben.
Bitte warten ..
Mitglied: skahle85
17.09.2014 um 09:04 Uhr
Ist gleich fertig... :D
Bitte warten ..
Mitglied: Questionmark93
17.09.2014 um 09:18 Uhr
ja glaube ich, für jemanden der das immer macht :P
Bitte warten ..
Mitglied: skahle85
17.09.2014 um 10:24 Uhr
So,

hier ist mal der Anfang des bösen :D. Starte mal die Powershell ISE und füge den Code ein. Kopier dir mal vorher die PsExec.exe nach System32.
Leider fehlt noch irgendwas und ich komm gerade nicht drauf. Vielleicht hat ja jemand noch den passende kniff am Start...
Muss erstmal zurück an die Arbeit und schau im laufe des Tages nochmal rein.

01.
[void] [System.Reflection.Assembly]::LoadWithPartialName("System.Drawing")  
02.
[void] [System.Reflection.Assembly]::LoadWithPartialName("System.Windows.Forms")  #loading the necessary .net libraries (using void to suppress output) 
03.
 
04.
################################################################################################################################################### 
05.
# - WINDOWS FORMS & LABELS -                                                                                                                      # 
06.
################################################################################################################################################### 
07.
$Form = New-Object System.Windows.Forms.Form    #creating the form (this will be the "primary" window) 
08.
$Form.Size = New-Object System.Drawing.Size(700,400)  #the size in px of the window length, height 
09.
Add-Type -AssemblyName System.Windows.Forms 
10.
#$Image = [system.drawing.image]::FromFile("$($env:windir)\water.jpg")  
11.
#$Form.BackgroundImage = $Image 
12.
#$Form.BackgroundImageLayout = "Stretch" # None, Tile, Center, Stretch, Zoom 
13.
$Form.StartPosition = "CenterScreen" #loads the window in the center of the screen 
14.
$Form.FormBorderStyle = [System.Windows.Forms.FormBorderStyle]::FixedToolWindow #modifies the window border 
15.
$Form.Text = "User Programs" #window description 
16.
 
17.
################################################################################################################################################### 
18.
# - Begin LABELS -                                                                                                                                # 
19.
################################################################################################################################################### 
20.
#Label Client 
21.
$Labelwks = New-Object System.Windows.Forms.Label 
22.
$Font = New-Object System.Drawing.Font("Times New Roman",9,[System.Drawing.FontStyle]::Bold) # Font styles are: Regular, Bold, Italic, Underline, Strikeout 
23.
$Labelwks.Font = $Font 
24.
$Labelwks.Text = "Client with \\" 
25.
$Labelwks.Location = New-Object System.Drawing.Size(10,45) 
26.
$Labelwks.BackColor = "Transparent" 
27.
#Label Program 
28.
$LabelProg = New-Object System.Windows.Forms.Label 
29.
$Font = New-Object System.Drawing.Font("Times New Roman",9,[System.Drawing.FontStyle]::Bold) # Font styles are: Regular, Bold, Italic, Underline, Strikeout 
30.
$LabelProg.Font = $Font 
31.
$LabelProg.Text = "Path to Program" 
32.
$LabelProg.Location = New-Object System.Drawing.Size(180,45) 
33.
$LabelProg.BackColor = "Transparent" 
34.
 
35.
################################################################################################################################################### 
36.
# - END WINDOWS FORMS & LABELS -                                                                                                                  # 
37.
################################################################################################################################################### 
38.
 
39.
 
40.
################################################################################################################################################### 
41.
# - BEGIN FUNKTIONS -                                                                                                                             # 
42.
################################################################################################################################################### 
43.
##################### 
44.
# - FUNCTION PSEXEC - # 
45.
##################### 
46.
function pingInfo { 
47.
$Prog=$InputBoxProg.text; 
48.
$wks=$InputBoxWKS.text; #takes the text from the input box into the variable $wks 
49.
$ProgResult=PsExec.exe -i /acceptEula \\$wks $Prog | fl | out-string; 
50.
$outputBox.text=$ProgResult #send the ping results to the output box 
51.
 
52.
53.
 
54.
################################################################################################################################################### 
55.
# - BEGIN TEXTFIELDS INPUT -                                                                                                                      # 
56.
################################################################################################################################################### 
57.
 
58.
#Input 
59.
$InputBoxWKS = New-Object System.Windows.Forms.TextBox #creating the text box 
60.
$InputBoxWKS.Location = New-Object System.Drawing.Size(10,60) #location of the text box (px) in relation to the primary window's edges (length, height) 
61.
$InputBoxWKS.Size = New-Object System.Drawing.Size(150,20) #the size in px of the text box (length, height) 
62.
$Form.Controls.Add($InputBoxWKS) #activating the text box inside the primary window 
63.
 
64.
#Input Username 
65.
$InputBoxProg = New-Object System.Windows.Forms.TextBox #creating the text box 
66.
$InputBoxProg.Location = New-Object System.Drawing.Size(180,60) #location of the text box (px) in relation to the primary window's edges (length, height) 
67.
$InputBoxProg.Size = New-Object System.Drawing.Size(150,20) #the size in px of the text box (length, height) 
68.
$Form.Controls.Add($InputBoxProg) #activating the text box inside the primary window 
69.
 
70.
################################################################################################################################################### 
71.
# - END TEXTFIELDS INPUT -                                                                                                                        # 
72.
################################################################################################################################################### 
73.
#/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////# 
74.
################################################################################################################################################### 
75.
# - BEGIN TEXTFIELDS OUTPUT -                                                                                                                     # 
76.
################################################################################################################################################### 
77.
#Outputbox  
78.
$outputBox = New-Object System.Windows.Forms.TextBox #creating the text box 
79.
$outputBox.Location = New-Object System.Drawing.Size(10,90) #location of the text box (px) in relation to the primary window's edges (length, height) 
80.
$outputBox.Size = New-Object System.Drawing.Size(490,280) #the size in px of the text box (length, height) 
81.
$outputBox.MultiLine = $True #declaring the text box as multi-line 
82.
$outputBox.ScrollBars = "Vertical" #adding scroll bars if required 
83.
$outputBox.Font = New-Object System.Drawing.Font("Verdana",8,[System.Drawing.FontStyle]::Italic) #Textbox Font 
84.
$Form.Controls.Add($outputBox) #activating the text box inside the primary window 
85.
################################################################################################################################################### 
86.
# - END TEXTFIELDS OUTPUT -                                                                                                                       # 
87.
################################################################################################################################################### 
88.
#/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////# 
89.
################################################################################################################################################### 
90.
# - BEGIN BUTTONS -                                                                                                                               # 
91.
################################################################################################################################################### 
92.
 
93.
#Button Ping 
94.
$ButtonPing = New-Object System.Windows.Forms.Button #create the button 
95.
$ButtonPing.Location = New-Object System.Drawing.Size(10,10) #location of the button (px) in relation to the primary window's edges (length, height) 
96.
$ButtonPing.Size = New-Object System.Drawing.Size(100,23) #the size in px of the button (length, height) 
97.
$ButtonPing.Text = "Execute" #labeling the button 
98.
$ButtonPing.Cursor = [System.Windows.Forms.Cursors]::Hand 
99.
$ButtonPing.BackColor = [System.Drawing.Color]::White 
100.
$ButtonPing.Font = New-Object System.Drawing.Font ("Verdana",10, [System.Drawing.FontStyle]::Regular) 
101.
$ButtonPing.Add_Click({}) #the action triggered by the button 
102.
$Form.Controls.Add($ButtonPing) #activating the button inside the primary window 
103.
$ButtonPing.Add_Click({pingInfo}) 
104.
 
105.
#Exit Button 
106.
$ExitButton = New-Object System.Windows.Forms.Button #create the button 
107.
$ExitButton.Location = New-Object System.Drawing.Size(590,350) #location of the button (px) in relation to the primary window's edges (length, height) 
108.
$ExitButton.Size = New-Object System.Drawing.Size(100,23) #the size in px of the button (length, height) 
109.
$ExitButton.Text = "Exit" #labeling the button 
110.
$ExitButton.Add_Click({}) #the action triggered by the button 
111.
$Form.Controls.Add($ExitButton) #activating the button inside the primary window 
112.
$ExitButton.Add_Click({$Form.Close()}) 
113.
 
114.
################################################################################################################################################### 
115.
# - END BUTTONS -                                                                                                                                 # 
116.
################################################################################################################################################### 
117.
 
118.
 
119.
################################################################################################################################################### 
120.
# - LABELS -                                                                                                                                      # 
121.
################################################################################################################################################### 
122.
 
123.
$Form.Controls.Add($Labelwks) 
124.
$Form.Controls.Add($LabelProg) 
125.
 
126.
################################################################################################################################################### 
127.
# - ACTIVATE FORM -                                                                                                                                # 
128.
################################################################################################################################################### 
129.
 
130.
[void] $Form.ShowDialog() 
131.
[void] $Form.Add_Shown({$Form.Activate()})
Bitte warten ..
Mitglied: ITvortex
17.09.2014 um 11:01 Uhr
Wo liegt das Problem?

Geht doch, jedenfalls bei meinen Tests....

Gruß
Bitte warten ..
Mitglied: skahle85
17.09.2014 um 11:04 Uhr
Was???
Ok, Äää, thats the way ahaha i like it ahaha...
Bitte warten ..
Mitglied: skahle85
17.09.2014 um 11:06 Uhr
Zitat von skahle85:

$ProgResult=PsExec.exe -i /acceptEula \\$wks $Prog | fl | out-string;
$outputBox.text=$ProgResult #send the ping results to the output box

da fehlt noch das "-d" argument damit es nicht aufs beenden wartet!
Bitte warten ..
Mitglied: ITvortex
17.09.2014, aktualisiert um 11:09 Uhr


Das einzige Problem bei der Funktion PsExec ist, das es Probleme geben kann wenn der User einen Pfad eingibt der Leerzeichen enthält: "C:\MeineProgramme\Mein Unterordner\test.exe".

Hiermit bekommst du eine Exception weil ihm die Hochkomata fehlen: "C:\MeineProgramme\"Mein Unterordner"\test.exe"

Und das -d fehlt zwecks Beenden..

Allerdings wollte er das ganze nicht nur grafisch, sondern auch eine Liste zum auswählen des Programmpfads des Users, aber wie gesagt das ist overkill. Ein paar Dinge könnte man noch anders lösen aber schönes Script.


Edit: Habe den Post zu spät gelesen ;)
Bitte warten ..
Mitglied: skahle85
17.09.2014 um 11:21 Uhr
Ja für ne Dropdown war ich jetzt nen bissl faul muss ich gestehen. Leider ist ja auch noch andere arbeit auf dem Tisch :/.
Bitte warten ..
Mitglied: skahle85
17.09.2014, aktualisiert um 12:28 Uhr
Edit: Ist noch ohne Dropdownlist ;)

01.
[void] [System.Reflection.Assembly]::LoadWithPartialName("System.Drawing")  
02.
[void] [System.Reflection.Assembly]::LoadWithPartialName("System.Windows.Forms")  #loading the necessary .net libraries (using void to suppress output) 
03.
 
04.
################################################################################################################################################### 
05.
# - WINDOWS FORMS & LABELS -                                                                                                                      # 
06.
################################################################################################################################################### 
07.
$Form = New-Object System.Windows.Forms.Form    #creating the form (this will be the "primary" window) 
08.
$Form.Size = New-Object System.Drawing.Size(800,400)  #the size in px of the window length, height 
09.
Add-Type -AssemblyName System.Windows.Forms 
10.
#$Image = [system.drawing.image]::FromFile("$($env:windir)\water.jpg")  
11.
#$Form.BackgroundImage = $Image 
12.
#$Form.BackgroundImageLayout = "Stretch" # None, Tile, Center, Stretch, Zoom 
13.
$Form.StartPosition = "CenterScreen" #loads the window in the center of the screen 
14.
$Form.FormBorderStyle = [System.Windows.Forms.FormBorderStyle]::FixedToolWindow #modifies the window border 
15.
$Form.Text = "PsExec" #window description 
16.
 
17.
################################################################################################################################################### 
18.
# - Begin LABELS -                                                                                                                                # 
19.
################################################################################################################################################### 
20.
#Label Client 
21.
$Labelwks = New-Object System.Windows.Forms.Label 
22.
$Font = New-Object System.Drawing.Font("Times New Roman",9,[System.Drawing.FontStyle]::Bold) # Font styles are: Regular, Bold, Italic, Underline, Strikeout 
23.
$Labelwks.Font = $Font 
24.
$Labelwks.Text = "Workstation" 
25.
$Labelwks.Location = New-Object System.Drawing.Size(10,45) 
26.
$Labelwks.BackColor = "Transparent" 
27.
#Label Program 
28.
$LabelProg = New-Object System.Windows.Forms.Label 
29.
$Font = New-Object System.Drawing.Font("Times New Roman",9,[System.Drawing.FontStyle]::Bold) # Font styles are: Regular, Bold, Italic, Underline, Strikeout 
30.
$LabelProg.Font = $Font 
31.
$LabelProg.Text = "Path to Program" 
32.
$LabelProg.Location = New-Object System.Drawing.Size(180,45) 
33.
$LabelProg.BackColor = "Transparent" 
34.
 
35.
################################################################################################################################################### 
36.
# - END WINDOWS FORMS & LABELS -                                                                                                                  # 
37.
################################################################################################################################################### 
38.
 
39.
 
40.
################################################################################################################################################### 
41.
# - BEGIN FUNKTIONS -                                                                                                                             # 
42.
################################################################################################################################################### 
43.
##################### 
44.
# - FUNCTION PSEXEC - # 
45.
##################### 
46.
function PsExec { 
47.
$Prog=$InputBoxProg.text; 
48.
$wks=$InputBoxWKS.text; #takes the text from the input box into the variable $wks 
49.
$ProgResult=PsExec.exe -i -d /acceptEula \\$wks "$Prog" 2>c:\bin\psexec.error.txt | fl | out-string -ErrorAction Stop; 
50.
#$GetContent=c:\bin\psexec.error.txt; 
51.
$outputBox.text=Get-Content c:\bin\psexec.error.txt #send the ping results to the output box 
52.
 
53.
54.
 
55.
################################################################################################################################################### 
56.
# - BEGIN TEXTFIELDS INPUT -                                                                                                                      # 
57.
################################################################################################################################################### 
58.
 
59.
#Input 
60.
$InputBoxWKS = New-Object System.Windows.Forms.TextBox #creating the text box 
61.
$InputBoxWKS.Location = New-Object System.Drawing.Size(10,60) #location of the text box (px) in relation to the primary window's edges (length, height) 
62.
$InputBoxWKS.Size = New-Object System.Drawing.Size(150,20) #the size in px of the text box (length, height) 
63.
$Form.Controls.Add($InputBoxWKS) #activating the text box inside the primary window 
64.
 
65.
#Input Username 
66.
$InputBoxProg = New-Object System.Windows.Forms.TextBox #creating the text box 
67.
$InputBoxProg.Location = New-Object System.Drawing.Size(180,60) #location of the text box (px) in relation to the primary window's edges (length, height) 
68.
$InputBoxProg.Size = New-Object System.Drawing.Size(150,20) #the size in px of the text box (length, height) 
69.
$Form.Controls.Add($InputBoxProg) #activating the text box inside the primary window 
70.
 
71.
################################################################################################################################################### 
72.
# - END TEXTFIELDS INPUT -                                                                                                                        # 
73.
################################################################################################################################################### 
74.
#/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////# 
75.
################################################################################################################################################### 
76.
# - BEGIN TEXTFIELDS OUTPUT -                                                                                                                     # 
77.
################################################################################################################################################### 
78.
#Outputbox  
79.
$outputBox = New-Object System.Windows.Forms.TextBox #creating the text box 
80.
$outputBox.Location = New-Object System.Drawing.Size(10,90) #location of the text box (px) in relation to the primary window's edges (length, height) 
81.
$outputBox.Size = New-Object System.Drawing.Size(670,280) #the size in px of the text box (length, height) 
82.
$outputBox.MultiLine = $True #declaring the text box as multi-line 
83.
$outputBox.ScrollBars = "Vertical" #adding scroll bars if required 
84.
$outputBox.Font = New-Object System.Drawing.Font("Verdana",8,[System.Drawing.FontStyle]::Italic) #Textbox Font 
85.
$Form.Controls.Add($outputBox) #activating the text box inside the primary window 
86.
################################################################################################################################################### 
87.
# - END TEXTFIELDS OUTPUT -                                                                                                                       # 
88.
################################################################################################################################################### 
89.
#/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////# 
90.
################################################################################################################################################### 
91.
# - BEGIN BUTTONS -                                                                                                                               # 
92.
################################################################################################################################################### 
93.
 
94.
#Button PsExec 
95.
$ButtonExec = New-Object System.Windows.Forms.Button #create the button 
96.
$ButtonExec.Location = New-Object System.Drawing.Size(10,10) #location of the button (px) in relation to the primary window's edges (length, height) 
97.
$ButtonExec.Size = New-Object System.Drawing.Size(100,23) #the size in px of the button (length, height) 
98.
$ButtonExec.Text = "Execute" #labeling the button 
99.
$ButtonExec.Cursor = [System.Windows.Forms.Cursors]::Hand 
100.
$ButtonExec.BackColor = [System.Drawing.Color]::White 
101.
$ButtonExec.Font = New-Object System.Drawing.Font ("Verdana",10, [System.Drawing.FontStyle]::Regular) 
102.
$ButtonExec.Add_Click({}) #the action triggered by the button 
103.
$Form.Controls.Add($ButtonExec) #activating the button inside the primary window 
104.
$ButtonExec.Add_Click({PsExec}) 
105.
 
106.
#Exit Button 
107.
$ExitButton = New-Object System.Windows.Forms.Button #create the button 
108.
$ExitButton.Location = New-Object System.Drawing.Size(690,345) #location of the button (px) in relation to the primary window's edges (length, height) 
109.
$ExitButton.Size = New-Object System.Drawing.Size(100,23) #the size in px of the button (length, height) 
110.
$ExitButton.Text = "Exit" #labeling the button 
111.
$ExitButton.Add_Click({}) #the action triggered by the button 
112.
$Form.Controls.Add($ExitButton) #activating the button inside the primary window 
113.
$ExitButton.Add_Click({$Form.Close()}) 
114.
 
115.
################################################################################################################################################### 
116.
# - END BUTTONS -                                                                                                                                 # 
117.
################################################################################################################################################### 
118.
 
119.
 
120.
################################################################################################################################################### 
121.
# - LABELS -                                                                                                                                      # 
122.
################################################################################################################################################### 
123.
 
124.
$Form.Controls.Add($Labelwks) 
125.
$Form.Controls.Add($LabelProg) 
126.
 
127.
################################################################################################################################################### 
128.
# - ACTIVATE FORM -                                                                                                                                # 
129.
################################################################################################################################################### 
130.
 
131.
[void] $Form.ShowDialog() 
132.
[void] $Form.Add_Shown({$Form.Activate()})
Bitte warten ..
Mitglied: ITvortex
17.09.2014, aktualisiert um 12:51 Uhr
Wenn du den Fehlerbericht sendest dann musst du aber auch ein "mkdir C:\bin" machen und das natürlich auch dementsprechend abfangen (falls der Ordner schon vorhanden sein sollte).

Wenn der Ordner C:\bin nicht existiert bekommst du eine Exception und es startet dir kein Programm....

Gruß

PS:

01.
 
02.
$dirpath = "C:\bin" 
03.
 
04.
if( -not (Test-Path $dirpath) )  
05.
06.
New-Item $dirpath -type directory 
07.
08.
 
Bitte warten ..
Mitglied: skahle85
17.09.2014 um 12:51 Uhr
Na denn rein damit

01.
################################################################################################################################################### 
02.
# - BEGIN FUNKTIONS -                                                                                                                             # 
03.
################################################################################################################################################### 
04.
##################### 
05.
# - FUNCTION PSEXEC - # 
06.
##################### 
07.
function PsExec { 
08.
 
09.
$Prog=$InputBoxProg.text; 
10.
$wks=$InputBoxWKS.text; #takes the text from the input box into the variable $wks 
11.
$ProgResult=PsExec.exe -i -d /acceptEula \\$wks "$Prog" 2>c:\bin2\psexec.error.txt | fl | out-string -ErrorAction Stop; 
12.
#$GetContent=c:\bin\psexec.error.txt; 
13.
if ((Test-Path -path C:\bin\) -ne $True) 
14.
15.
New-Item C:\bin\ -type directory 
16.
17.
$outputBox.text=Get-Content c:\bin2\psexec.error.txt #send the ping results to the output box 
18.
 
19.
 
20.
}
Bitte warten ..
Mitglied: ITvortex
17.09.2014 um 12:54 Uhr
Zitat von skahle85:

Na denn rein damit

01.
> ################################################################################################################################################### 
02.
> # - BEGIN FUNKTIONS -                                                                                                              
03.
>                # 
04.
> ################################################################################################################################################### 
05.
> ##################### 
06.
> # - FUNCTION PSEXEC - # 
07.
> ##################### 
08.
> function PsExec { 
09.
>  
10.
> $Prog=$InputBoxProg.text; 
11.
> $wks=$InputBoxWKS.text; #takes the text from the input box into the variable $wks 
12.
> $ProgResult=PsExec.exe -i -d /acceptEula \\$wks "$Prog" 2>c:\bin2\psexec.error.txt | fl | out-string -ErrorAction 
13.
> Stop; 
14.
> #$GetContent=c:\bin\psexec.error.txt; 
15.
> $dirpath = "C:\bin" 
16.
> if( -not (Test-Path $dirpath) )  
17.
> { 
18.
> New-Item $dirpath -type directory 
19.
> } 
20.
> $outputBox.text=Get-Content c:\bin2\psexec.error.txt #send the ping results to the output box 
21.
>  
22.
>  
23.
> } 
24.
> 


gefällt mir besser ;)
Bitte warten ..
Mitglied: skahle85
17.09.2014 um 13:00 Uhr
Na Gut
Bitte warten ..
Mitglied: ITvortex
17.09.2014, aktualisiert um 13:12 Uhr


Jetzt müsste der Fragesteller mal testen ob es bei ihm klappt

Das ganze noch in eine .ps1 Datei und fertig.

http://www.mediafire.com/view/lkusg0ym2daxdbm/progStart.ps1

Hier das Script zum Download ;)


PS: Habe #BEGIN FUNKTIONS auf #BEGIN FUNCTIONS geändert
Bitte warten ..
Mitglied: Questionmark93
17.09.2014 um 13:34 Uhr
Vielen vielen vielen Dank, ich probiere das am Freitag mal =)
Bitte warten ..
Mitglied: Questionmark93
17.09.2014 um 14:09 Uhr
ich verstehe nur nicht was es mit dem großen Textfeld auf sich hat :/

wir haben ja den server.. muss ich dann eingeben \\tts02\user ? weil
wenn ich ganz normal einen user eingebe passiert nix :o
Bitte warten ..
Mitglied: skahle85
17.09.2014, aktualisiert um 14:19 Uhr
Das große "Textfeld" ist ein "Ausgabefeld" und verrät dir ob es 1. geklappt hat und wenn ja 2. mit welcher Prozess ID es gestartet wurde.

Edit: hätte ich noch beschriften sollen
Bitte warten ..
Mitglied: Questionmark93
17.09.2014 um 14:32 Uhr
ja hab es bemerkt :D danke vielmals =)
Bitte warten ..
Mitglied: skahle85
17.09.2014 um 14:35 Uhr
bau gerade noch eine dropdown liste für die workstations.
Bitte warten ..
Mitglied: ITvortex
17.09.2014 um 15:01 Uhr
Du benötigst: RemoteZugriff, solltest evt auch die Datei Freigeben... Funktioniert bei mir über den Server Problemlos, allerdings greife ich in meinem Fall auf eine Freigabe zu....
Bitte warten ..
Mitglied: skahle85
17.09.2014 um 15:04 Uhr
so, folgendes ist jetzt anders:
du brauchst noch eine wks.txt und eine progs.txt
In meinem Fall liegen diese in "c:\bin\". Du kannst aber auch jeden anderen Pfad nutzen wenn du möchtest, musst ihn nur im code ändern siehe Beispiel:
01.
#Dropdownlist Workstations 
02.
$DropDownWKS = New-Object System.Windows.Forms.ComboBox #creating the dropdown list 
03.
$DropDownWKS.Location = New-Object System.Drawing.Size(10,60) #location of the drop down (px) in relation to the primary window's edges (length, height) 
04.
$DropDownWKS.Size = New-Object System.Drawing.Size(150,20) #the size in px of the drop down box (length, height) 
05.
$DropDownWKS.DropDownHeight = 200 #the height of the pop out selection box 
06.
$Form.Controls.Add($DropDownWKS) #activating the drop box inside the primary window 
07.
 
08.
--> $wksList=@(Get-Content "c:\bin\wks.txt") <-- 
09.
 
10.
foreach ($wks in $wksList) { 
11.
                      $DropDownWKS.Items.Add($wks) 
12.
                              } #end foreach
01.
#Dropdownlist Programs 
02.
$DropDownProg = New-Object System.Windows.Forms.ComboBox #creating the dropdown list 
03.
$DropDownProg.Location = New-Object System.Drawing.Size(180,60) #location of the drop down (px) in relation to the primary window's edges (length, height) 
04.
$DropDownProg.Size = New-Object System.Drawing.Size(150,20) #the size in px of the drop down box (length, height) 
05.
$DropDownProg.DropDownHeight = 200 #the height of the pop out selection box 
06.
$Form.Controls.Add($DropDownProg) #activating the drop box inside the primary window 
07.
 
08.
--> $progList=@(Get-Content "c:\bin\progs.txt") <-- 
09.
 
10.
foreach ($progs in $progList) { 
11.
                      $DropDownProg.Items.Add($progs) 
12.
                              } #end foreach
und hier jetzt das fertige Script:

http://www.mediafire.com/view/j4qvhb56z15dudb/PsExec.ps1
Bitte warten ..
Mitglied: skahle85
17.09.2014 um 15:08 Uhr
Zitat von ITvortex:

Du benötigst: RemoteZugriff, solltest evt auch die Datei Freigeben... Funktioniert bei mir über den Server Problemlos,
allerdings greife ich in meinem Fall auf eine Freigabe zu....

Wo jetzt Wie?
Bitte warten ..
Mitglied: ITvortex
17.09.2014 um 15:49 Uhr
Sorry das war etwas "undeutsch"

Hab gerade eine Frage in einem anderen Forum beantwortet sry :d

Ich meinte er solle es doch mal über eine Freigabe versuchen.

Und folgende Syntax verwenden:

Workstation:Dein-PC (kein \\)
Pfad:C:\ (-....wie gehabt)
Bitte warten ..
Mitglied: ITvortex
17.09.2014 um 15:55 Uhr
Btw.: bei deinem Script bekomme ich bei Zeile 47 eine Nullpointer Exception -> Du versuchst eine nicht initialisierte Variable mit ToString() ?

lg
Bitte warten ..
Mitglied: skahle85
17.09.2014, aktualisiert um 16:02 Uhr
ach das ist mal wieder die Sache mit dem IF EXIST :D

ich frag jetzt nen textfile (wks.txt & progs.txt) ab. Beide unter c:\bin

01.
$wks=$DropDownWKS.SelectedItem.ToString();
man kann auch noch zusätzlich diese Zeile darunter einfügen:

01.
$wks=$DropDownWKS.Text;
damit manuelle Eingaben funktionieren ;)

Grüße
Bitte warten ..
Mitglied: ITvortex
17.09.2014 um 16:03 Uhr
Ich weiß, es existieren in meinem Test Szenario auch beide ;)

In den DropDown menüs wird bei mir nur der Quellcode ausgegeben und keine "Elemente" angezeigt ;)
Bitte warten ..
Mitglied: skahle85
17.09.2014 um 16:11 Uhr
Sehr interessant...

http://www.mediafire.com/view/yfrcjfra89jc6f8/PsExec.ps1

hier noch mal das script...
Bitte warten ..
Mitglied: ITvortex
17.09.2014 um 16:18 Uhr
Selbes Problem... ich habe immo keine Zeit um mir den Quellcode anzuschauen, aber kurz die Exceptions:

01.
Es ist nicht möglich, eine Methode für einen Ausdruck aufzurufen, der den NULL hat. 
02.
In C:\Users\Martin\Desktop\Peter Zellan Treiber\PsExec(1).ps1:47 Zeichen:1 
03.
+ $wks=$DropDownWKS.SelectedItem.ToString(); 
04.
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
05.
    + CategoryInfo          : InvalidOperation: (:) [], RuntimeException 
06.
    + FullyQualifiedErrorId : InvokeMethodOnNull 
07.
 
08.
Es ist nicht möglich, eine Methode für einen Ausdruck aufzurufen, der den NULL hat. 
09.
In C:\Users\Martin\Desktop\Peter Zellan Treiber\PsExec(1).ps1:49 Zeichen:1 
10.
+ $Prog=$DropDownProg.SelectedItem.ToString(); 
11.
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
12.
    + CategoryInfo          : InvalidOperation: (:) [], RuntimeException 
13.
    + FullyQualifiedErrorId : InvokeMethodOnNull
und

01.
CategoryInfo          : NotSpecified: (:String) [], RemoteException     + FullyQualifiedErrorId : NativeCommandError   PsExec v2.11 - Execute processes remotely Copyright (C) 2001-2014 Mark Russinovich Sysinternals - www.sysinternals.com  
Ich schau mir später den Quellcode an
Bitte warten ..
Mitglied: skahle85
17.09.2014 um 16:26 Uhr
Muss leider auch los :/
schreiben uns späta.

Gruß
Bitte warten ..
Mitglied: skahle85
18.09.2014 um 09:06 Uhr
Also den Fehler bekomme ich tatsächlich nur, wenn ich keine Angabe für Client und/oder Programm mache.
Bitte warten ..
Mitglied: ITvortex
18.09.2014 um 09:39 Uhr
Sorry kam noch nicht dazu.... ich hab gerade noch zu tun ;)
Bitte warten ..
Mitglied: ITvortex
18.09.2014 um 16:49 Uhr
Selber Fehler hmm... Poste doch mal deine 2 txt Dateien im Ordner C:\bin damit ich auch sicher auf dem selben Stand bin
Bitte warten ..
Mitglied: skahle85
19.09.2014 um 08:16 Uhr
Hi,
hier mal die Textdateien.
http://www.mediafire.com/view/1t78klxomrapsq1/wks.txt
http://www.mediafire.com/view/6xn29ad3luohykk/progs.txt

und hier noch mal das Script mit ein paar Anpassungen (eigentlich auf dem Stand den du auch hast nur mit Fehlerausgabe in der OutputBox)
http://www.mediafire.com/view/yfrcjfra89jc6f8/PsExec.ps1

PS: hast du dir die Zeile schon angeschaut?
01.
#$wksList=@(Invoke-Command -ComputerName "mein DC" -ScriptBlock {Get-ADComputer -Filter * | select-object -expandproperty name})
Ganz nett eigentlich.
Bitte warten ..
Mitglied: ITvortex
19.09.2014 um 09:44 Uhr
So.. hab mal alles aktualisiert ;)

01.
Es ist nicht möglich, eine Methode für einen Ausdruck aufzurufen, der den NULL hat.
Rest funktioneirt.

Jetzt schau ich mir mal den Sourcecode an ;)
Bitte warten ..
Mitglied: Questionmark93
19.09.2014 um 10:16 Uhr
Das scheint dann doch nicht so einfach zu sein wie anfangs gedacht :D
Bitte warten ..
Mitglied: skahle85
19.09.2014 um 10:20 Uhr
Eigentlich schon. Aber wenn dann 2 aufeinander treffen kanns schonmal vorkommen, dass es irgendwie größer wird als vorher erwartet :D.

Läuft es denn bei dir? Aktuellste Version ist 3 Posts weiter oben ;)
Bitte warten ..
Mitglied: Questionmark93
19.09.2014 um 10:28 Uhr
mh nein leider nicht, ich bekomme immernoch die Meldung

>Sie können keine Methode für einen Ausdruck mit dem Wert NULL aufrufen.<
Bitte warten ..
Mitglied: skahle85
19.09.2014 um 10:32 Uhr
Gibst du bei "Workstation" nur die Workstation ein oder noch mit "\\"?

Die Backslashes brauchst du nämlich nicht mehr
Bitte warten ..
Mitglied: skahle85
19.09.2014 um 10:36 Uhr
Ok Ich habs!

Er mag die manuelle Eingabe nicht. Wenn man ein System aus der Liste auswählt läuft es
Bitte warten ..
Mitglied: ITvortex
19.09.2014 um 10:45 Uhr
Wollte ich gerade sagen...
Bitte warten ..
Mitglied: skahle85
19.09.2014 um 10:47 Uhr
DC Abfrage um die Clientliste zu füllen:

Wenn von deiner Powershell aus dann:
Invoke-Command -ComputerName "DEIN DC" -ScriptBlock {Get-ADComputer -Filter * | select-object -expandproperty name} | Out-File <PFAD zu deiner wks.txt>

Wenn aufm DC dann:

Get-ADComputer -Filter * | select-object -expandproperty name} | Out-File <PFAD zu deiner wks.txt>
Bitte warten ..
Mitglied: ITvortex
19.09.2014 um 10:51 Uhr
Hat sich ganz schön entwickelt das "kleine Projekt"

Aber so ist das immer, man macht das und dieses und jenes... dann macht es Spaß und naja du weißt bescheid ;)
Bitte warten ..
Mitglied: Questionmark93
19.09.2014 um 10:57 Uhr
Jetzt bekomme ich:

PsExec.exe : Bei L:\Tausch\PsExec.ps1:69 Zeichen:23 + $ProgResult=PsExec.exe <<<< -i -d /acceptEula \\$wks "$Prog" 2>c:\bin\psexec .error.txt | fl | out-string -ErrorAction Continue; + CategoryInfo : NotSpecified: (:String) [], RemoteException + FullyQualifiedErrorId : NativeCommandError PsExec v2.11 - Execute processes remotely Copyright (C) 2001-2014 Mark Russinovich Sysinternals - www.sysinternals.com Das Handle ist ung³ltig. Connecting to j.rybak...Couldn't access j.rybak: Connecting to j.rybak...
Bitte warten ..
Mitglied: skahle85
19.09.2014 um 11:04 Uhr
Versuchst du zu einem Benutzernamen zu connecten?
01.
Connecting to j.rybak...
Bitte warten ..
Mitglied: ITvortex
19.09.2014 um 11:06 Uhr
Was willst du den da anstellen?

Du musst schon den Computernamen angeben und nicht den Benutzer,.....
Bitte warten ..
Mitglied: Questionmark93
19.09.2014 um 11:14 Uhr
Ja weil wegen Server ? ^^
Bitte warten ..
Mitglied: skahle85
19.09.2014 um 11:21 Uhr
Was meinst du mit Server? Einen Server brauchst du nicht außer du möchtest bevor du das kleine Tool nutzt noch schnell sämtliche Clients in eine Datei exportieren - siehe Post weiter oben.

Ansonsten ist ja alles klar definiert. Workstation einfach aus der Liste Auswählen - Programm aus der Liste auswählen - Fertig

An welcher Stelle bist du denn gerade?
Bitte warten ..
Mitglied: Questionmark93
19.09.2014 um 11:25 Uhr
Ich verbinde mich ja mit dem Server und dann suche ich nach Updates von 'nem Programm.
Das Programm schließt ja dann sämtliche Prozesse und installiert die Updates.

Wenn das ganze fertig ist wollte ich gerne wieder an dem entsprechenden Arbeitsplatz
das Programm öffnen.
Bitte warten ..
Mitglied: ITvortex
22.09.2014 um 09:12 Uhr
Tasksheduler ist hierfür das Stichwort.
Bitte warten ..
Mitglied: Questionmark93
22.09.2014 um 14:55 Uhr
hm sagt mir nichts =/
Bitte warten ..
Mitglied: Questionmark93
23.09.2014 um 08:23 Uhr
... oh man :DD

wie schreibt ihr eigendlich die skripte?
mit welchem programm?
Bitte warten ..
Mitglied: ITvortex
23.09.2014 um 09:08 Uhr
Ja als ein bisschen eigeninitiative sollte schon gegeben sein.

Programm?

Für Windows Powershell - Windows Powershell ISE ?
Bitte warten ..
Neuester Wissensbeitrag
Microsoft

Lizenzwiederverkauf und seine Tücken

(5)

Erfahrungsbericht von DerWoWusste zum Thema Microsoft ...

Ähnliche Inhalte
Microsoft Office
gelöst Makro wird beim öffnen Vorlage nicht ausgeführt (8)

Frage von Sunny89 zum Thema Microsoft Office ...

Microsoft Office
Mehr als 20 Excel Dateien öffnen gleichzeitig (7)

Frage von PizzaPepperoni zum Thema Microsoft Office ...

Microsoft Office
32 Bit CAD Programm und Excel 64 Bit geht nicht (5)

Frage von GrueneSosseMitSpeck zum Thema Microsoft Office ...

Heiß diskutierte Inhalte
Windows Netzwerk
Windows 10 RDP geht nicht (16)

Frage von Fiasko zum Thema Windows Netzwerk ...

Windows Server
Outlook Verbindungsversuch mit Exchange (15)

Frage von xbast1x zum Thema Windows Server ...

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

Frage von Motte990 zum Thema Microsoft Office ...