Mit psexec VBS starten
Ich habe Versucht mit psexec ein vbscript von mir zu starten was sich auf einem Rechner im Netzwerk befindet.
Ich habe es so versucht:
psexec \\Computer "C:\install\Datei.vbs"
Computer steht für die Arbeitsstation auf der ich es ausführen will.
Die Datei liegt an diesem Ort. Diese habe ich mit einem Script dorthin kopiert.
Wenn ich diese Zeile ausfülle sagt mir psexec Dateipfad nicht vorhanden.
Kann mir wer helfen???
Danke!!
Ich habe es so versucht:
psexec \\Computer "C:\install\Datei.vbs"
Computer steht für die Arbeitsstation auf der ich es ausführen will.
Die Datei liegt an diesem Ort. Diese habe ich mit einem Script dorthin kopiert.
Wenn ich diese Zeile ausfülle sagt mir psexec Dateipfad nicht vorhanden.
Kann mir wer helfen???
Danke!!
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 120692
Url: https://administrator.de/contentid/120692
Ausgedruckt am: 23.11.2024 um 08:11 Uhr
15 Kommentare
Neuester Kommentar
Hallo
probier doch mal was passiert wenn du dich erst per
psexec \\Computer cmd
auf die Kiste verbindest und dann versuchst die vbs zu starten.
probier doch mal was passiert wenn du dich erst per
psexec \\Computer cmd
auf die Kiste verbindest und dann versuchst die vbs zu starten.
probier mal
psexec \\computer cscript.exe /nologo "C:\Drucker.vbs"
http://forum.sysinternals.com/forum_posts.asp?TID=7879
psexec \\computer cscript.exe /nologo "C:\Drucker.vbs"
http://forum.sysinternals.com/forum_posts.asp?TID=7879
hmm,
ein letzter gedanke
psexec \\computer cmd.com /C cscript.exe C:\Drucker.vbs
ein letzter gedanke
psexec \\computer cmd.com /C cscript.exe C:\Drucker.vbs
Beispiel bei mir (Skript liegt auf d:\batches\testausgabe.vbs):
psexec \\computer c:\windows\system32\cscript.exe d:\batches\testausgabe.vbs
Und die Ausgabe von psexec:
c:\windows\system32\cscript.exe exited with error code 0.
ist richtig. Error Code 0 bedeutet das Programm ist erfolgreich durchgelaufen.
psexec \\computer c:\windows\system32\cscript.exe d:\batches\testausgabe.vbs
Und die Ausgabe von psexec:
c:\windows\system32\cscript.exe exited with error code 0.
ist richtig. Error Code 0 bedeutet das Programm ist erfolgreich durchgelaufen.
Ich gehe mal davon aus, daß es sich um dieselbe Fragestellung wie in Deinem anderen Posting handelt und es sich um Netzwerkdrucker vom Typ \\server\druckername handelt.
In dem Fall:
Netzwerkdrucker sind USER spezifisch, nicht SYSTEM spezifisch.
Mit PSEXEC wird es unter dem User gestartet, der PSEXEC ausführt bzw. der bei PSEXEC mitgegeben wird und von diesem User wird der Drucker gelöscht, nicht von dem am Desktop angemeldeten User.
In dem Fall:
Netzwerkdrucker sind USER spezifisch, nicht SYSTEM spezifisch.
Mit PSEXEC wird es unter dem User gestartet, der PSEXEC ausführt bzw. der bei PSEXEC mitgegeben wird und von diesem User wird der Drucker gelöscht, nicht von dem am Desktop angemeldeten User.
Ein Anmeldeskript wäre das einfachste (und sinnvollste). Läuft im Userkontext, erreicht alle, zumindestens die die sich anmelden, die die sich nicht anmelden spielen eh keine Rolle.
Wenns komplizierter werden soll, man kann natürlich mit PSEXEC auf einen anderen Rechner ein Skript starten, dies müsste dann ermitteln, wer der aktuell am Rechner sitzende User ist und dann aus dem entsprechenden HKEY_USERS\SID Eintrag die Keys für den entsprechden Drucker rauslöschen.
Wenns komplizierter werden soll, man kann natürlich mit PSEXEC auf einen anderen Rechner ein Skript starten, dies müsste dann ermitteln, wer der aktuell am Rechner sitzende User ist und dann aus dem entsprechenden HKEY_USERS\SID Eintrag die Keys für den entsprechden Drucker rauslöschen.
Die Netzwerkdrucker stehen in der Registry unter HKEY_USERS\SID-Nummer\Printers\Connections\ drin.
Wenn man dort den kompletten Schlüssel rauslöscht fehlt der Drucker auch im Windows.
Problem ist nur, daß es mehrere angemeldete User geben kann (durch Dienste etc.) so daß es mehrere Einträge mit verschiedener SID unter HKEY_USERS geben kann. Deswegen muß man noch die SID des gerade angemeldeten Benutzers rauskriegen, damit man den richtigen Schlüssel erwischt.
Das ist sicherlich möglich, auch wenn ich gerade nicht wüsste, wie man das herausbekommt.
Für Registry-Editieren hat das Wscript.Shell Objekt die nötigen Funktionen:
Der Typ des Regkeys wie bei Regedit auch: REG_SZ, REG_DWORD etc.
Wenn man dort den kompletten Schlüssel rauslöscht fehlt der Drucker auch im Windows.
Problem ist nur, daß es mehrere angemeldete User geben kann (durch Dienste etc.) so daß es mehrere Einträge mit verschiedener SID unter HKEY_USERS geben kann. Deswegen muß man noch die SID des gerade angemeldeten Benutzers rauskriegen, damit man den richtigen Schlüssel erwischt.
Das ist sicherlich möglich, auch wenn ich gerade nicht wüsste, wie man das herausbekommt.
Für Registry-Editieren hat das Wscript.Shell Objekt die nötigen Funktionen:
Set wshshell = CreateObject("Wscript.shell")
wert = wshshell.RegRead(Name des Regkeys)
wshshell.RegWrite Name des Regkeys,Wert des Regkeys,Typ des Regkeys
wshshell.RegDelete Name des Regkeys