Ich habe eine Active Directory-Domäne, die unter Windows Server 2003 R2 läuft. Die Clients sind eine Mischung aus Windows XP SP2, Vista und Windows 7. Ich möchte auf jedem Computer einmal ein Skript (Batchdatei, aber möglicherweise auch ein VB-Skript) ausführen. Ich möchte nicht, dass dies beim Anmelden, Abmelden, Starten oder Herunterfahren geschieht. Ich möchte nur, dass es so schnell wie möglich und einmal geschieht.
Gibt es hierfür eine relativ schmerzlose Möglichkeit, die bei allen Clienttypen funktioniert?
Danke.
AKTUALISIEREN: Das hätte ich ursprünglich erwähnen sollen: Viele der PCs sind hinter billigen 5-Port-Routern, die an eine Ethernet-Buchse angeschlossen sind. Stellen Sie sich fünf Doktoranden vor, die sich ein Büro teilen. Jeder PC in einem Büro hat also eine RFC1918-IP. Ich bin auf der öffentlichen Seite des Routers, also kann ich keine direkte Verbindung zum PC herstellen. Daher funktionieren PsExec oder WMI nicht. WinRM könnte funktionieren, aber die meisten PCs haben das nicht installiert. Ich denke, meine einzige Möglichkeit ist, irgendwie ein GPO zu verwenden, vielleicht um eine Aufgabe zu planen, um ein Skript von einem Netzwerklaufwerk auszuführen.
Antwort1
Ich würde sagen, verwendenpsToolspsexec.exe, um das Skript remote auszuführen.
Die Einrichtung und Inbetriebnahme ist völlig unkompliziert, Sie müssen sich nicht bei jeder Station anmelden und hinterlassen hinterher keine Spuren.
Als Antwort auf alle Kommentare: Da sie mit den DCs kommunizieren können, um sich in der Domäne zu befinden, sollten Sie in der Lage sein, auf einen DC zu springen und das psexec-Skript von dort aus auszuführen.
Antwort2
Das klingt nach einem Job fürpsexec. PSexec ermöglicht Ihnen die Remote-Ausführung eines Skripts auf allen Computern in der Domäne, wenn Sie als Computer „\“ angeben. Sie müssen Ihrem Skript eine Art Logik hinzufügen, um auf dem System eine Art Hinweis zu hinterlassen, dass es abgeschlossen ist, und dies vor dem Start überprüfen.
Antwort3
Sie könnten ein Wrapper-Skript schreiben und psexec verwenden, um eine Verbindung zu den Remote-Rechnern herzustellen und das gewünschte Skript auszuführen, vorausgesetzt, es befindet sich an einem Ort, auf den diese Rechner zugreifen können. Sie müssen nur eine Quelle für die PCs haben, mit denen Sie eine Verbindung herstellen, um sie zu durchlaufen.
Antwort4
Ich möchte auf jedem Computer einmal ein Skript (Batchdatei, aber möglicherweise auch ein VB-Skript) ausführen. Ich möchte nicht, dass dies beim Anmelden, Abmelden, Starten oder Herunterfahren geschieht. Ich möchte nur, dass es so schnell wie möglich und einmal geschieht. Gibt es eine relativ schmerzlose Möglichkeit, dies zu tun, die mit allen Clienttypen funktioniert?
VBscript.
Viele der PCs sind hinter billigen 5-Port-Routern, die an eine Ethernet-Buchse angeschlossen sind. Stellen Sie sich fünf Doktoranden vor, die sich ein Büro teilen. Jeder PC in einem Büro hat also eine RFC1918-IP.
Ich bin überrascht, dass das überhaupt funktioniert. Ich gehe davon aus, dass alle Router unterschiedliche Subnetze haben. Andernfalls herrscht in Ihrer Domäne völliges Chaos, da eine beliebige Anzahl von Clients versucht, dieselbe IP-Adresse 192.168.xx zu beanspruchen ...
Ich befinde mich auf der öffentlichen Seite des Routers und kann daher keine direkte Verbindung zum PC herstellen. Daher funktionieren PsExec oder WMI nicht.
Das ist Ihr erstes Problem. Sie müssen in das Netzwerk jedes einzelnen gelangen. Es klingt, als ob die Remote-PCs hinter einer Art Firewall-NAT liegen, und das wird allerlei Kopfschmerzen verursachen. Technisch gesehen sollte sich Ihr Server „in einer perfekten Welt“ im selben Netzwerk wie Ihre Clients befinden. Stellen die Clients eine Verbindung über VPN her? Wenn ja, ist das Ihr Ticket „hinein“.
Ich glaube, meine einzige Möglichkeit besteht darin, irgendwie ein Gruppenrichtlinienobjekt zu verwenden, vielleicht um eine Aufgabe zum Ausführen eines Skripts von einem Netzwerklaufwerk zu planen.
Dies kann ein Problem darstellen, wenn die von Ihnen erstellte Gruppenrichtlinie bei der Anmeldung des Benutzers angewendet wird, da Sie angegeben haben, dass dies bei der Anmeldung des Benutzers am Computer nicht geschehen soll.
Es tut mir leid, Sie damit zu beleidigen, aber angesichts der Natur der Frage muss ich fragen (falls Sie bereit sind, zu antworten): Warum müssen Sie das tun? Ein verwaltetes Netzwerk würde nicht auf diese verrückte Weise konfiguriert werden, und ehrlich gesagt sieht es aus meiner Sicht so aus, als ob Sie eine Art Sicherheitslücke in diesen internen Netzwerken schaffen möchten.