Vbs-Anmeldescript wird nicht ausgeführt
Hallo liebe Admins,
ich habe ein kleines Problem, bei dem ich nicht dahinter komme woran es ganu hackt.
Bei uns gab es im Vorfeld für alle Mitarbeiter ein altes Batch-Script, was über net use die entsprechenden Netzlaufwerke den Mitarbeitern zur Verfügung gestellt werden.
Ich habe jetzt ein neues Anmeldescript in vbs geschrieben und in den Profilen der AD den Pfad für das Anmeldescript entsprechend angepasst. Bei dem Server handelt es sich um einen Windows Server 2003, die komplette Verwaltung läuft nur über die AD, GPO's werden zz noch nicht verwendet.
Jetzt das Verhalten welches ich mir nicht erklären kann, das Skript wird beim Logon nicht ausgeführt, führt man es aber händisch an dem entsprechenden Arbeitsplatz aus, funktioniert es einwandfrei.
Nachdem das Skript einmal händisch auf dem Rechner ausgeführt wurde, greift es auch bei den folgenden Logons. Dieses Verhalten war replizierbar auf 9 von 10 Rechnern, auf einem Rechner wurde es direkt angenommen. Bei allen Rechnern handelt es sich um Windows 7 Pro N 64Bit. Der einzige Unterschied zwischen den Anmeldescripte sind unterschiedlich gemappte Laufwerke.
Zur Zusatzinfo:
Bei dem Skript werden Netzlaufwerke gelöscht und auf Basis eines Pings wird entschieden ob er nach der Namesauflösung mappt, wenn der Ping nicht erfolgreich ist, soll nach der IP gemappt werden.
Nach den Netzlaufwerken wird über WMI mehrere Abfragen zur Hardware abgefragt und die gesammelten Daten in einer Textdatei auf dem Server hinterlegt.
Die Frage:
Ist solch ein Verhalten bei jemanden bekannt, bzw. gibt es hierfür einen Lösungsansatz?
Schonmal danke für eure Mühen.
Viele Grüße
Julien
ich habe ein kleines Problem, bei dem ich nicht dahinter komme woran es ganu hackt.
Bei uns gab es im Vorfeld für alle Mitarbeiter ein altes Batch-Script, was über net use die entsprechenden Netzlaufwerke den Mitarbeitern zur Verfügung gestellt werden.
Ich habe jetzt ein neues Anmeldescript in vbs geschrieben und in den Profilen der AD den Pfad für das Anmeldescript entsprechend angepasst. Bei dem Server handelt es sich um einen Windows Server 2003, die komplette Verwaltung läuft nur über die AD, GPO's werden zz noch nicht verwendet.
Jetzt das Verhalten welches ich mir nicht erklären kann, das Skript wird beim Logon nicht ausgeführt, führt man es aber händisch an dem entsprechenden Arbeitsplatz aus, funktioniert es einwandfrei.
Nachdem das Skript einmal händisch auf dem Rechner ausgeführt wurde, greift es auch bei den folgenden Logons. Dieses Verhalten war replizierbar auf 9 von 10 Rechnern, auf einem Rechner wurde es direkt angenommen. Bei allen Rechnern handelt es sich um Windows 7 Pro N 64Bit. Der einzige Unterschied zwischen den Anmeldescripte sind unterschiedlich gemappte Laufwerke.
Zur Zusatzinfo:
Bei dem Skript werden Netzlaufwerke gelöscht und auf Basis eines Pings wird entschieden ob er nach der Namesauflösung mappt, wenn der Ping nicht erfolgreich ist, soll nach der IP gemappt werden.
Nach den Netzlaufwerken wird über WMI mehrere Abfragen zur Hardware abgefragt und die gesammelten Daten in einer Textdatei auf dem Server hinterlegt.
Die Frage:
Ist solch ein Verhalten bei jemanden bekannt, bzw. gibt es hierfür einen Lösungsansatz?
Schonmal danke für eure Mühen.
Viele Grüße
Julien
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 290694
Url: https://administrator.de/forum/vbs-anmeldescript-wird-nicht-ausgefuehrt-290694.html
Ausgedruckt am: 03.05.2025 um 00:05 Uhr
4 Kommentare
Neuester Kommentar

Moin,
sehe ich das richtig, du hast das VBS in die Eigenschaft "Anmeldeskript" jedes Userobjektes eingetragen ?Das kann doch nicht funktionieren, hier laufen doch nur *.bat und *.cmd Skripte die im Netlogon liegen. (Sorry 2003 ist schon länger her ...)
Erstelle also eine vernünftige GPO und Weise das Skript als Anmeldeskript zu dann klappt das auch vernünftig, oder lass das VBS von eine *.cmd aus ausführen.
Und für ein Debugging deines Skriptes nehm das On Error Resume Next aus dem Skript raus und stell in dem GPOs ein das Skripte sichtbar ausgeführt werden, dann erhältst du auch eine vernünftige Fehlermeldung mit der du dein Skript Debuggen kannst sollte es Fehler auf bestimmten Clients aufweisen.
Btw. enthält dein Skript ziemlich viel redundante Zeilen die sich zusammenfassen lassen. Und in Zeile 12 mach noch ein Komma und ein True hinten dran dann erübrigt sich das nachfolgende Sleep, weil das Skript dann auf das Ende des Befehls wartet.
Gruß grexit
sehe ich das richtig, du hast das VBS in die Eigenschaft "Anmeldeskript" jedes Userobjektes eingetragen ?
Erstelle also eine vernünftige GPO und Weise das Skript als Anmeldeskript zu dann klappt das auch vernünftig, oder lass das VBS von eine *.cmd aus ausführen.
Und für ein Debugging deines Skriptes nehm das On Error Resume Next aus dem Skript raus und stell in dem GPOs ein das Skripte sichtbar ausgeführt werden, dann erhältst du auch eine vernünftige Fehlermeldung mit der du dein Skript Debuggen kannst sollte es Fehler auf bestimmten Clients aufweisen.
Btw. enthält dein Skript ziemlich viel redundante Zeilen die sich zusammenfassen lassen. Und in Zeile 12 mach noch ein Komma und ein True hinten dran dann erübrigt sich das nachfolgende Sleep, weil das Skript dann auf das Ende des Befehls wartet.
shell.run "net use * /d /y",0,True
Gruß grexit

Zitat von @julienmu:
Ja ich wollte das Skript jedes Userkonto der AD eintragen. Sollten dort aber neben den *.cmd und *.bat nicht auch Skripte laufen die über den Windows Script Host abgearbeitet werden? So zumindest wurde uns das beigebracht.
Jup stimmt, sorry, ist schon zu lange her der 2003er ... Die Skripte liegen aber schon auf dem Netlogon Share und es wurde nur der Name des Skripts eingetragen ? SystemRoot\SYSVOL\Sysvol\Domänenname\ScriptsJa ich wollte das Skript jedes Userkonto der AD eintragen. Sollten dort aber neben den *.cmd und *.bat nicht auch Skripte laufen die über den Windows Script Host abgearbeitet werden? So zumindest wurde uns das beigebracht.
Das Skript an sich ist noch nicht ganz fertig, die redundanten Stellen werde ich noch entfernen und alle Deklarationen an den Anfang setzten, die Redundanten Zeilen sollten aber doch eigentlich keine Auswirkungen auf die Funktionalität des Skriptes haben, oder?
Nein das nicht.Aber wie geschrieben nimm das On Error Resume Next mal testweise raus dann bekommst du zumindest eine Fehlermeldung wenn es auf einem Client nicht läuft und du bekommst einen Hinweis welche Codestelle dem Client Probleme bereitet.