Batch-Scripting - Warten Sie, bis Netzwerk Gegründet
Habe ich die Anmeldung.bat-Skript, das ausgeführt wird jedes mal, wenn sich ein Benutzer anmeldet in Ihre Arbeitsstation von einer Active Directory-Domäne.
Diesem Skript einige Netzlaufwerke mit commands wie diesem:
net use x: \\192.168.0.2\share1
net use y: \\192.168.0.3\share2
net use z: \\192.168.0.4\share3
Aber für einige Arbeitsplätze, dieses Skript wird ausgeführt, bevor der Arbeitsplatz selbst hat sich voll etabliert seine eigene LAN-Verbindung. Der Benutzer geht dann zu Start-Menü - > Computer und sehen mit einem roten X ist für jedes zugeordnete Laufwerk. Bis zu diesem Zeitpunkt das Netzwerk aufgebaut ist, so dass, wenn Sie klicken Sie auf das rote X, geht er Weg. Noch, ich möchte die Anmeldung.bat-Skript, um zu überprüfen, das Netzwerk ist eingerichtet, vor der Ausführung des net-use-Befehle.
Ich habe gesehen, dafür Lösungen, die erfordern, dass die Einstellungen geändert werden, auf die Gruppenrichtlinie oder erfordern änderungen an den Einstellungen der Täter-workstation. Allerdings bin ich an einer Lösung interessiert, löst dies ausschließlich in meiner aktuellen batch-Skript (ohne zusätzlichen Skript-Abhängigkeiten außerhalb des Skripts).
Ich habe gesehen, andere scripting-Lösungen, die einfach einen timeout (oder Ruhezustand) in den batch-Skript so, dass es wartet eine beliebige Zeit, bevor Sie ausgeführt wird die net use-Befehle. Diese Lösungen warten-Konstanten, die entweder "anzeigen der Laufwerke ein wenig zu viel später, als Sie could 've been mapped" oder "immer noch Gefahr laufen die net-Befehle verwenden, früher als Netzwerk wird aufgebaut".
Stattdessen möchte ich ein Skript, dass zu überprüfen wäre jede Sekunde zu sehen, wenn das Netzwerk eingerichtet wurde, und dann (bei Erfolg) gehen Sie zum ausführen von "net use" - Befehle erwähnt.
Wie erreichen Sie diese in eine Windows-batch-Skript?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Einfach zu überprüfen. Nicht die Ausfahrt nach automatisch nach einer Dauer. Gearbeitet für das, was ich brauchte.
Meine Antworten auf Wie ping auf einen server nur einmal innerhalb einer batch-Datei? und Löschen Von Desktop-Verknüpfungen Im Zusammenhang Mit Der Netzwerk-Laufwerke? enthalten nützliche Informationen für diese Aufgabe.
Hier ist eine Vorlage batch-script für 1 server:
Muss ich hinzufügen, dass diese Lösung funktioniert nicht, wenn auf dem Server eine firewall ausgeführt wird, welche Blöcke pings zum server und damit die Arbeitsplätze erhalten nicht immer eine Antwort auf Ihre server pings.
Sollten Sie Gruppenrichtlinieneinstellungen verwenden, um Netzwerklaufwerke, keine batch-Skripte, jedoch, wenn Sie darauf bestehen, pingen Sie die server in dem Skript ist nicht der richtige Weg, dies zu tun.
Stattdessen implementieren Sie die Gruppenrichtlinien-Einstellung:
Dies zwingt den computer, um auf das Netzwerk warten zu kommen, die vor der Ausführung von startup/login-Skripte.