atomique
Goto Top

Anmeldeskript über lokale Gruppenrichtlinie funktioniert nicht

Guten Abend zusammen,

ich versuche gerade über ein Anmeldeskript Freigaben als Netzlaufwerke zu verbinden, habe aber ein Problem, dass ich mir nicht erklären kann. Vielleicht habt ihr ja eine Idee.


Erst einmal zu meinem Aufbau / was funktioniert hat:


back-to-topDas Skript (Habe hier Namen getauscht)


Die Ausgaben in die Datei sowie echo on und pause dienten als Debugging:

@echo on

echo Status: Start > C:\Users\Benutzername\Desktop\StatusStart.txt

net use * /d /y

net use b: \\Netzwerkpfad\Backup /persistent:no
net use o: \\Netzwerkpfad\Privat /persistent:no
net use p: \\Netzwerkpfad\Public /persistent:no

echo Status: OK > C:\Users\Benutzername\Desktop\StatusOK.txt

pause

Das Skript funktioniert. Habe es vorher getestet. Rechte stimmen, soweit also in Ordnung. Nun wollte ich das Skript nach Anmeldung an meinem System ausführen und die Netzlaufwerke per Skript ausführen.

back-to-topDazu habe ich folgende lokale Gruppenrichtlinien aktiviert (Habe keine Domäne Zuhause):


  • Benutzerkonfiguration > Windows-Einstellungen > Skripts > Anmelden - Hier habe ich das Skript in das dafür vorgesehene Verzeichnis (C:\Windows\System32\GroupPolicy\User\Scripts\Logon) gelegt und hinzugefügt.

  • Benutzerkonfiguration > Administrative Vorlagen > System > Skripts > Anweisungen in Anmeldeskripts während der Ausführung anzeigen - aktiviert um zu sehen ob alles nach Plan läuft

  • Computerkonfiguration > Administrative Vorlagen > System > Gruppenrichtlinie > Anmeldeskriptverzögerung konfigurieren - aktiviert - Ich bin nach einiger Zeit der Suche im Internet darauf gestoßen, dass das Netzwerk eventuell zum Zeitpunkt der Ausführung noch nicht initialisiert sein könnte. Nachdem ich den Timer von 1 Minute nun auf 2 Minuten angehoben habe, glaube ich auch daran nicht mehr


back-to-topHalbe Ausführung des Skripts


Das Problem ist, dass das Skript mit manuellem Doppelklick funktioniert und die Netzlaufwerke hinzufügt, aber nicht so recht will, wenn ich es als Anmeldeskript nach dem Neustart / der Anmeldung ausführe. Das Skript an sich wird ausgeführt, nur die "net use"-Befehle scheinen die Netzlaufwerke nicht hinzuzufügen. Die Textdateien meines Debuggings werden erfolgreich erstellt und er meldet auch bei net use eine erfolgreiche Ausführung. Nur sind meine Netzlaufwerke nicht im Explorer zu sehen und auch "net use" zeigt die Verbindung nicht an.

Hat jemand eine Idee was ich falsch mache? Einen Denkansatz? Habe ich etwas nicht bedacht?

Falls noch wichtige Fragen zu meinem Aufbau/System (Windows 8.1) da sind, immer her damit - Danke schon einmal vorab!

Gruß Atomique


EDIT:

Screenshot zur Ausführung des Anmeldeskripts:

5c6445d82efe335103ddb2c768269cdb

EDIT 2:

Screen zum Test nach manueller Verbindung:

3e72d9229d3b7862e24e93026a373fff

Content-Key: 278372

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

Printed on: April 20, 2024 at 02:04 o'clock

Member: DerWoWusste
DerWoWusste Jul 25, 2015 at 15:42:28 (UTC)
Goto Top
Hi Atomique.

Seit Windows 8 werden Anmeldeskripte erst 5 Minuten nach der Anmeldung gestartet. Stell das zur Diagnose einmal aus: http://www.jniesen.de/?p=1690
Member: atomique
atomique Jul 25, 2015 updated at 16:12:13 (UTC)
Goto Top
Hi DerWoWusste und danke für diene schnelle Antwort,

ich habe das gerade einmal ausprobiert. Das ist sogar genau die Policy die ich aktiviert hatte um die Zeitverzögerung zu testen. Das Skript wurde ja aber an sich ausgeführt, nur verbindet er nicht die Netzlaufwerke. Das macht er mit dem Skript nur wenn ich es per Doppelklick ausführe. Hier ein Screenshot (Siehe oben unter Edit) zur Ausführung des Anmeldeskripts (diesmal hat er es wie erwartet unmittelbar nach Anmeldung ausgeführt.)

Gruß Atomique
Member: DerWoWusste
Solution DerWoWusste Jul 25, 2015 updated at 17:21:03 (UTC)
Goto Top
Mach doch bitte mal einen Versuch im selben Skript auf das angeblich erfolgreich verbundene e: zu schreiben
md e:\test
zum Beispiel.

Warum nutzt Du ein Anmeldeskript dazu? Du könntest sie auch manuell verbinden, die bleiben automatisch verbunden.
Weitere Alternativen: Batch im persönlichen Autostart
geplanter Task mit Trigger "bei der Anmeldung", ausführendes Konto "Du", Haken setzen bei "ausführen nur wenn angemeldet".
Mitglied: 114757
114757 Jul 25, 2015 at 16:26:35 (UTC)
Goto Top
Moin,
wurden die Credentials für die Netzlaufwerke mal im Windows Tresor hinterlegt ?
Wenn nicht dann dort hinterlegen und nochmal testen.

Gruß jodel32
Member: atomique
atomique Jul 25, 2015 updated at 16:37:34 (UTC)
Goto Top
Hab dir oben nen Screen hinterlegt face-smile Danke für deine Hilfe. Ich hatte es erst über den Windows Explorer gelöst. Jedoch kam immer die Meldung nach einem Neustart, dass es Laufwerke gibt die nicht verbunden werden konnten. Das habe ich über die Registry ausgeblendet - fand die Lösung aber unschön. Deshalb der Versuch über die Anmeldeskripte, da wir das auf der Arbeit in der Domäne auch nutzen. Bin der Ansicht gewesen, dass das so ja auch möglich sein müsste.

Was ich als nächstes versuchen wollte wäre die Lösung die Netzlaufwerke via lokaler GPO zu verbinden (Ansatz hab ich hier: http://www.windowspro.de/wolfgang-sommergut/netzlaufwerke-verbinden-gro ..) - Wollte nur nicht so leicht aufgeben und war verwundert, dass nur dieser eine Befehl nicht ausgeführt wird.

Gruß Atomique

EDIT wg. Doppelposting: Habe die Anmeldeinformationen hinterlegt, sorry - die Information fehlte! - Das hinzufügen der Laufwerke funktioniert. Nur nicht über die Art & Weise des Anmeldeskripts.
Member: DerWoWusste
DerWoWusste Jul 25, 2015 at 16:40:21 (UTC)
Goto Top
Also sind sie verbunden, aber Dein Explorer hat keinen Bock, sie anzuzeigen. Ich kann Dir nicht sagen, warum das so it. Schieß den Explorer einmal im Taskmanager ab und starte ihn neu, mal sehen, ob sie dann erscheinen. Dass Dir gesagt wurde "dass es Laufwerke gibt die nicht verbunden werden konnten" liegt daran, dass der Rechner schneller bootet, als das Netzwerk initialisiert ist - das Problem gibt es manchmal.

Nimm einen Workaround, Skript im Autostart wird passen, wenn nicht, einfach ein paar Sekunden warten im Skript (erste Zeile: timeout 10)
Der Sommergut-Link ist nicht nutzbar, da es diese Option nicht lokal gibt, sondern nur in Domänen-GPOs über die GPMC.
Member: atomique
atomique Jul 25, 2015 at 16:50:23 (UTC)
Goto Top
Nein, entschuldige - ich hab das wahrscheinlich etwas Wirr erklärt:

Testreihe 1:

  1. Ich füge das Skript wie oben beschrieben zur GPO hinzu und es wird nach dem Neustart auch ausgeführt. Das erkenne ich daran, dass die Datei auf meinem Desktop erscheint und das Skript offen bleibt wegen des "pause" Befehls.
  2. Das Problem ist: Alle Befehle werden ausgeführt. Netzlaufwerke erscheinen aber nicht, auch nach Neustart des Explorers nicht. Ich habe auch via net use überprüft ob überhaupt Shares eingebunden wurden. Das ist nicht passiert. Meldung laut net use: "Es sind keine Einträge in der Liste".

Testreihe 2:

  1. Ich deaktiviere das Skript von oben und beginne mit einem neugestarteten System. Ich habe alle Laufwerke die noch verfügbar sein könnten vorsichtshalber mit net use * /d /y entfernt.
  2. Nun führe ich exakt das identische Skript mit einem Doppelklick aus. Und Siehe da: Netzlaufwerke sind verbunden und die Testdateien sind auf meinem Desktop.


Warum funktioniert mein Skript mit den net-use-Befehlen NUR mit einem Doppelklick und nicht über die Anmelde-Skript GPO? Und warum behauptet er, dass der Befehl erfolgreich ausgeführt wurde wenn nachweislich nichts geschehen ist (außer das erstellen der Test-Datei - siehe Zeile 3 und 11)


Wegen des Sommergut-Links: Hm schade, hatte gehofft, dass das auch funktioniert.

Gruß Atomique
Member: DerWoWusste
DerWoWusste Jul 25, 2015 at 16:56:26 (UTC)
Goto Top
Das hatte ich auch so verstanden.
Es gibt keinen Grund, es ist ein Bug, bei mir geht es.
Teste die zuletzt genannten Dinge.
Mitglied: 114757
114757 Jul 25, 2015 updated at 17:00:24 (UTC)
Goto Top
Hmm, hier mit einer VM mit W8.1 und Netzlaufwerke die auf ein Qnap NAS verweisen nachgestellt und keine Probleme dieser Art festgestellt.
Hast du das gleiche mal auf einer anderen Kiste probiert? Ich würde auch auf ein Timing Problem der Netzwerktreiber tippen.
Member: atomique
atomique Jul 25, 2015 at 17:06:43 (UTC)
Goto Top
Okay, das werde ich mal machen! Vielen Dank!

Eine Frage aber noch - quasi für einen allerletzten Testlauf :D

ce7273f8ddb9124ae087860db2238a2f


Die Startparameter: Kann ich hier ein runas /user Computername\Administrator nutzen? Oder wie habe ich diese zu verstehen?

@114757: Ich habe schon timeout /t <Sekunden> getestet. Auch habe ich die GPO versucht, die die Anmeldeskripte um eine bestimmte Zeit (habe 1 Min und 2 Min getestet) verschiebt probiert. Kein Erfolg. Muss wohl wirklich ein Bug sein. Werde das nachher mal auf einem anderem Rechner testen. Aufm Laptop ist im Moment Windows 10. Hab also erstmal keine weitere Möglichkeit, das zu testen.

Gruß Atomique
Member: DerWoWusste
DerWoWusste Jul 25, 2015 at 17:08:47 (UTC)
Goto Top
Du brauchst keine Skriptparameter.
Mitglied: 114757
114757 Jul 25, 2015 updated at 17:11:15 (UTC)
Goto Top
Die Startparameter: Kann ich hier ein runas /user Computername\Administrator nutzen? Oder wie habe ich diese zu verstehen?
Nein, die Parameter die dort angegeben werden , werden an das Skript selber als Parameter übergeben.
Member: atomique
atomique Jul 25, 2015 at 17:19:50 (UTC)
Goto Top
Also.. Ich habe jetzt DerWoWusstes Vorschlag befolgt. Habe Das Skript in einen Ordner gelegt und eine Verknüpfung unter "Win + R > Shell:Startup" gelegt. Das Skript wird ausgeführt und die Netzlaufwerke werden verbunden. Warum es mit den GPOs bei mir nicht funktioniert - Weiß der Geier :D Ich teste das mal irgendwann in einer VM. Verbuche das jetzt mal wie du unter "Bugs" ^^

Vielen Dank für eure Zeit und Geduld! Ich wünsche euch noch einen schönen Abend - bis demnächst!

Gruß Atomique
Member: atomique
atomique Jul 25, 2015 updated at 21:05:54 (UTC)
Goto Top
Ich nochmal, Hallo!

Ich konnte davon nicht ablassen, habe eine Windows 8.1 Pro VM aufgesetzt und das Ganze noch einmal getestet. Das Problem liegt ganz sicher an meinem Betriebssystem (Wo genau kann ich nicht sagen. Ist auch nicht so wichtig - Windows 10 kommt ja bald und eine Neuinstallation steht somit eh an ;) ). Die Vorgehensweise mit der Gruppenrichtlinie und dem Anmeldeskript funktioniert in meiner VM auf jeden Fall.

Falls jemand mal diese Lösung braucht, schreibe ich der Vollständigkeit halber einmal hier die Vorgehensweise nieder:

  1. Anmeldeinformationen hinterlegen unter "Systemsteuerung\Alle Systemsteuerungselemente\Anmeldeinformationsverwaltung" - Natürlich die nötigen Anmeldedaten zur Anmeldung an euren Netzwerkspeicher ;) - Danke an jodel32
  2. Login-Skript erstellen und in das Verzeichnis "C:\Windows\System32\GroupPolicy\User\Scripts\Logon" kopieren.
  3. Mit Win+R den Befehl "gpedit.msc" ausführen um den Gruppenrichtlinien-Editor zu öffnen.
  4. Unter Benutzerkonfiguration > Windows-Einstellungen > Skripts > Anmelden ein Skript hinterlegen
  5. Computerkonfiguration > Administrative Vorlagen > System > Gruppenrichtlinie > Anmeldeskriptverzögerung konfigurieren - Deaktivieren - Danke an DerWoWusste für diesen Tipp. Windows 8 führt das Skript sonst erst 5 Minuten nach Anmeldung aus.
  6. Neustarten und Testen.

Hier nochmal das Skript falls benötigt. Ist aber nichts Großes:

REM Alle verbundenen Netzlaufwerke entfernen
net use * /d /y

REM Beliebige Netzlaufwerke verbinden (Syntax)
net use <Laufwerksbuchstabe>: \\Servername\Freigabe /persistent:no

REM Beispiel
net use M: \\pcname\backup /persistent:no

Hier noch ein der Screen für das hinzufügen des Skripts im Editor (von oben)

ce7273f8ddb9124ae087860db2238a2f


Sollte das Ganze nicht funktionieren wie bei mir:

  1. Das Skript unter "Win + R und "shell:startup"" sichern - nicht vergessen die GPO wieder zu deaktivieren ;)
  2. Neustarten und testen!

Nun bin ich glücklich :D

Vielen Dank nochmal für die Hilfe - Ein schönes Wochenende wünsche ich

Gruß Atomique
Mitglied: 114757
114757 Jul 25, 2015 updated at 21:37:12 (UTC)
Goto Top
Wir haben ebenfalls zu Danken, so vorbildlich wie bei dir geht es hier selten über die Bühne face-wink

Thumbs Up!!