aerox1990
Goto Top

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!!

Content-ID: 120692

Url: https://administrator.de/contentid/120692

Ausgedruckt am: 23.11.2024 um 08:11 Uhr

45877
45877 17.07.2009 um 11:15:01 Uhr
Goto Top
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.
AeRoX1990
AeRoX1990 17.07.2009 um 11:31:03 Uhr
Goto Top
So habe ich gemacht jetzt habe ich dies gemacht:
C:\WINDOWS\system32>C:\Drucker.vbs

Passiert des weiteren nichts.
Also er meckert nicht nimmt den Befehl an aber auf dem anderem Rechner passiert trotzdem nix.
45877
45877 17.07.2009 um 12:23:55 Uhr
Goto Top
probier mal

psexec \\computer cscript.exe /nologo "C:\Drucker.vbs"

http://forum.sysinternals.com/forum_posts.asp?TID=7879
AndreasHoster
AndreasHoster 17.07.2009 um 12:25:26 Uhr
Goto Top
Ich finde PSEXEC sagt beim direten Aufruf einer VBS genau wo das Problem ist:
%1 ist keine zulässige Win32 Anwendung.

Ist es auch nicht.
psexec \\computer c:\windows\system32\cscript.exe Pfad_zu_VBS tut genau was es soll.
AeRoX1990
AeRoX1990 17.07.2009 um 13:26:06 Uhr
Goto Top
Also chewbakka damit besteht das selbe Problem weiterhin.
AndreasHoster Wenn ich das so eingebe wie du gepostet hast bekomme ich einen code 0 error.#
Vielleicht habe ich es ja falsch geschrieben kannst du mal alles genau schreiben vbs heißt z.B Drucker.
45877
45877 17.07.2009 um 14:31:22 Uhr
Goto Top
hmm,

ein letzter gedanke

psexec \\computer cmd.com /C cscript.exe C:\Drucker.vbs
AeRoX1990
AeRoX1990 17.07.2009 um 16:30:23 Uhr
Goto Top
Dies klappt leider auch nicht!
AndreasHoster
AndreasHoster 17.07.2009 um 17:15:43 Uhr
Goto Top
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.
AeRoX1990
AeRoX1990 27.07.2009 um 08:56:46 Uhr
Goto Top
So trotzdem klappt es nicht er soll den Drucker aus der Liste entfernen er macht zwar etwas mim Drucker da steht dann wird geöffnet aber entfernen tut er ihn trotzdem nicht. Wodran liegt das?

P.s
Tut mir leid das ich mich jetzt erst melde ich war im Urlaub!
AndreasHoster
AndreasHoster 27.07.2009 um 10:06:33 Uhr
Goto Top
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.
AeRoX1990
AeRoX1990 27.07.2009 um 10:47:54 Uhr
Goto Top
Ja genau darum gehts aber es muss doch eine möglichkeit geben den Drucker zu entfernen!
AndreasHoster
AndreasHoster 27.07.2009 um 11:08:40 Uhr
Goto Top
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.
AeRoX1990
AeRoX1990 27.07.2009 um 11:54:29 Uhr
Goto Top
Also das mit dem Loginscript wäre eine schöne saubere Sache aber leider möchte das mein Abteilungsleiter nicht. Könntest du mir erklären wie die komplizierte Version funktioniert??
AndreasHoster
AndreasHoster 27.07.2009 um 14:15:17 Uhr
Goto Top
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:
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
Der Typ des Regkeys wie bei Regedit auch: REG_SZ, REG_DWORD etc.
AeRoX1990
AeRoX1990 27.07.2009 um 15:29:23 Uhr
Goto Top
Also kannst du mir jetzt nicht stepp bei stepp sagen wie ich das machen kann. Mhh Schade trotzdem schon mal Danke für deine Hilfe!! Kann mir vllt wer anders noch Helfen??