r.obert
Goto Top

Div. Fileserver sollen nach Anmeldung automatisch gemountet werden

Hallo Zusammen, ich habe ein Problem mit netlogon, das mit GPOs auf verschiedene OUs angewendet wird. Leider ändern sich nicht mehr die Laufwerke, sobald ich in der zeichnungen.cmd-Datei die Pfade und Laufwerksbuchstaben geändert habe. Die Volumes blerigen die Alten, auch wenn ich sie aus dem Skript gelöscht habe. Ein Programm braucht aber expliziet den Laufwerksbuchstaben "S" um die Dateipfade richtig zu erkennen, dieser widerum ist aber mit einem LW belegt, das aber nicht mehr gebraucht wird. Nun meine Frage, wie kann ich die GPO und das Skript so ändern, dass nur noch aktuelle LW mit dem passenden LW-Buchstaben nach Neustart erscheinen?

Wir haben zwei DC, zum replizieren.
Eine Domäne.


Das steht im Script:
49122069173e304cfffe4684364d77eb

Da liegt das Script:
d2a0d89d35c4a3c987ddfd5e5012f306

Vielen Dank für Eure Hilfe

r.obert

Content-Key: 211345

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

Printed on: April 23, 2024 at 17:04 o'clock

Member: Bitboy
Bitboy Jul 12, 2013 at 12:33:36 (UTC)
Goto Top
Hi,

was steht denn bis jetzt in dem Script drin?

Wurden die Laufwerke früher über net use ... /PERSISTENT:NO gemappt oder nicht?
Die alten Laufwerke könnteste du mit net use /delete .... löschen lassen bevor die neuen gemappt werden.
Member: templier
templier Jul 12, 2013 updated at 15:35:26 (UTC)
Goto Top
Hallo

Ich würde zuerst mal schauen ob die aktuelle GPO überhaupt gezogen (aktualisiert) wird - Ggf. erstmal einen refresh fahren und die GPO´s nochmal ziehen - CMD Fenster am betreffenden Client öffnen und: "gpupdate /force" eingeben. Schreib doch bitte mal, ob das funktioniert.

Habt ihr mehrere Domänencontroller, oder nur einen? Wenn ihr mehrere habt kann es dann natürlich auch sein das die "neue" GPO noch nicht in der Active Directory durchrepliziert wurde und Du bei Deiner Anmeldung immer auf einen DC stösst der noch nicht aktualisiert wurde. Denke daran das am Client der letzte DC, wo man sich erfolgreich angemeldet hat, gespeichert wird. Ist dieser nicht verfügbar - Wird erst der nächste DC aufgesucht, usw, und so fort. Hier dann auch bitte erst mal eine Active Directory Replikation manuell anstossen, damit Dir auch sicher sein kannst das die neue GPO überall innert der Domäne wirklich zur Verfügung steht.

Viele Grüsse
Ralph
Member: r.obert
r.obert Jul 14, 2013 at 08:34:41 (UTC)
Goto Top
Hi bitboy, ich habe meinen Eintrag mit zwei screenshots ergänzt.

viele Grüße r.obert
Member: templier
templier Jul 14, 2013 at 08:44:31 (UTC)
Goto Top
Da würde ich für jedes Laufwerk mal "/PERSISTENT:NO" ergänzen.
Member: r.obert
r.obert Jul 14, 2013 at 11:04:27 (UTC)
Goto Top
Hallo Ralph,
die Zeile lautet z.B. nun:

net use M: "\\18\Zeichnungsarchiv /PERSISTENT:NO"

it das richtig, oder muss ich eigene Anführungen machen?


Gruß
R.obert
Member: templier
templier Jul 14, 2013 at 11:21:47 (UTC)
Goto Top
Hallo Robert,

was mir eben, nach Deinem letzten Beitrag, auch in Deinem ursprünglichen Script aufgefallen ist - Warum setzt Du eigentlich den Pfad (der keine Leerzeichen enthält) in Hochkomma? Das brauchst Du doch gar nicht?

Ich würde es so Schreiben, ohne Hochkommas:

net use M: \\18\Zeichnungsarchiv /PERSISTENT:NO

Viele Grüsse
Ralph
Member: r.obert
r.obert Jul 14, 2013 at 11:54:34 (UTC)
Goto Top
Hi Ralph,
ich habe es jetzt umgeschrieben. Bin schon gespannt auf morgen!
Was bewirkt der Zusatz /persistent:no eigentlich?

Viele Grüße

Robert
Member: templier
templier Jul 14, 2013 updated at 17:05:21 (UTC)
Goto Top
Hallo Robert,

das die Laufwerkszuordnung, bei dem betreffenden Benutzer, nicht (wie sonst oft üblich) dauerhaft in der Registry gespeichert wird. Und somit, die Laufwerkszuordnung, bei jedem Abmelden des Benutzers, aus der Registry wieder herausgelöscht wird.

In der GUI wäre das übrigens, wenn man sich mit einem Netzlaufwerk verbinden möchte, der Haken: "Verbindung bei Anmeldung wiederherstellen". Wenn man den nicht anklickt, dann ist die Verbindung sozusagen: "PERSISTENT:NO" face-wink

Viele Grüsse
Ralph

Tante EDITH:
Stolperfalle: Wenn Du hier jetzt gewisse Laufwerke geändert hast, und vorher die Benutzer die Laufwerke OHNE "PERSISTENT:NO" bekommen haben, bleiben die ggf. erhalten, weil sie ja in dem Moment für den Benutzer "dauerhaft" in der Registry hinterlegt wurden. Lasse also am besten zuerst nochmal das "alte" Script, mit dem ergänztem Parameter, vorher laufen, bis sich alle Benutzer einmal angemeldet haben! Und somit die alten Einträge in der Registry erst einmal Überschrieben wurden. Danach kannst Du das neue Script zum Einsatz bringen.
Member: java667
java667 Jul 15, 2013 at 08:49:14 (UTC)
Goto Top
Ich glaube das PERSISTENT:NO spielt hier keine Rolle. In seinem Script werden alle Laufwerk immer erst gelöscht und erst dann werden die Laufwerke verbunden. Lässt sich aber leicht prüfen, einfach das Script ausführen und kucken ob es tut, was es soll.

Ansonsten, wie oben schon geschrieben, mal prüfen ob die GPO überhaupt gezogen wird.
Member: templier
templier Jul 15, 2013 updated at 08:51:32 (UTC)
Goto Top
Das "Delete" hat er erst nachträglich eingefügt, nach dem ersten Eintrag von "bitboy" hier. Zumindest, soweit ich das Verstanden habe.
Member: r.obert
r.obert Jul 15, 2013 at 09:53:22 (UTC)
Goto Top
Hallo Ralph,
jetzt habe ich die Datei direkt auf meinem Rechner ausgeführt. Folgendes ist mir dabei aufgefallen:
Wenn ich die vorhandenen Laufwerke manuell trenne, und dann das Skript starte, erscheint alles was ich im Skript hinterlegt habe. Wenn ich die LW nicht trenne, das Skript ausführe, ergänzt er mir nur ein paar LW. Die alten vergebenen LW-Buchstaben bleiben mit dem alten nicht mehr benötigtem LW verknüpft! Das Skript löscht nicht die ersten Verknüpfungen, nach jedem Anmelden erscheint immer der alte Mist. Die GPo greift habe ich mit GPedit getestet.

Viele Grüße

R.obert
Member: templier
templier Jul 15, 2013 updated at 10:02:57 (UTC)
Goto Top
Siehe dazu meinen Post von gestern - Du machst einen Denkfehler und musst erst das "alte" Script nochmal ausrollen, ergänzt mit dem Parameter: PERSISTENT:NO , weil die Laufwerke doch durch das alte Script quasi hart "verdrahtet" wurden, das musst du jetzt erst wieder korrigieren:

Siehe meinen Post oben:
Tante EDITH:
Stolperfalle: Wenn Du hier jetzt gewisse Laufwerke geändert hast, und vorher die Benutzer die Laufwerke OHNE "PERSISTENT:NO" bekommen haben, bleiben die ggf. erhalten, weil sie ja in dem Moment für den Benutzer "dauerhaft" in der Registry hinterlegt wurden. Lasse also am besten zuerst nochmal das "alte" Script, mit dem ergänztem Parameter, vorher laufen, bis sich alle Benutzer einmal angemeldet haben! Und somit die alten Einträge in der Registry erst einmal Überschrieben wurden. Danach kannst Du das neue Script zum Einsatz bringen.
Member: templier
templier Jul 15, 2013 updated at 10:13:53 (UTC)
Goto Top
Step by step:

Altes Script anpassen: Bei jeder Laufwerkszuweisung PERSISTENT:NO ergänzen

Altes Script nochmal zum Einsatz bringen, damit bei jedem Benutzer (bei seiner Anmeldung) die Laufwerkszuordnung(en) auf "temporär" gesetzt wird. Indem diese in der Registry umgeschrieben werden.

Erst danach, (wenn jeder Benutzer sich einmal angemeldet hat) neues Script in die Runde werfen face-smile
Member: Pjordorf
Pjordorf Jul 15, 2013 at 10:54:34 (UTC)
Goto Top
Hallo,

Zitat von @templier:
Altes Script anpassen: Bei jeder Laufwerkszuweisung PERSISTENT:NO ergänzen
Das ist alle nicht nötig. Ein
net use * /Delete / Yes
löscht alle gespeicherte Verbindungen aus der Registrierung sodass diese beim nächsten Anmelden nicht mehr Verbunden werden.

Altes Script nochmal zum Einsatz bringen
Auch nicht nötig.

Erst danach, (wenn jeder Benutzer sich einmal angemeldet hat) neues Script in die Runde werfen face-smile
Blödsinn.

@ @r.obert
Stell in deiner Batchdatei mal ein net use sowie ein pause rein, und mit der Option zum Anzeigen von Scripts (Benutzerkonfiguration - Administrtive Vorlagen - System - Skripts - Anmeldeskripts sichtbar ausführen) wirst du dann sehen was bei dir passiert oder eben nicht passiert.

Im Script als erstes mal ein net use um festzustellen was alles womit verbunden ist. Damit du es Lesen kannst, kommt ein Pause dahinter.
@echo off
Echo Folgende Laufwerke sind verbunden:
net use
pause

rem Laufwerke Loeschen, alle und immer.
Echo Alle Laufwerke Loeschen
net use * /delete /yes

rem Schauen ob alles geloescht wurde
Echo Es sollten keine Laufwerke mehr vorhanden sein
net use
pause

rem Benoetigte Laufwerke Verbinden
Echo Verbinden von Laufwerken:
net use M: "\\18\Zeichnungsarchiv"
net use N: "\\18\Maschinenbau"           /Persistent:no
net use O: \\18\Automobiltechnik         /Persistent:yes
net use P: \\18\Post
net use Q: "\\18\CAD-Archiv"             /Persistent:yes
net use S: "\\152\SolidWorks"            /Persistent;yes
net use R: "\\18\Konstruktionsbilder"    /Persistent:yes

REM Schauen onb alle Verbunden wurden sofern ich den Meldungen beim Verbinden nicht traue
Echo Verbunden sind:
net use
pause

REM ab hier weitere Skripts
Das stellen der Uhrzeit ist in einer Domäne so nicht nötig. Alle Clients holen sich (per Standard) die Zeit vom DC. Wenn nicht, habt ihr noch andere Probleme in eurer Domäne.

Zu Net Use einfach mal hier http://technet.microsoft.com/en-us/library/gg651155(v=ws.10).aspx schauen. Da ist auch der Schalter Persistent und seine Funktion erläutert. Und was Persistent noch so für bedeutungen hat kannst du hier http://www.dict.cc/?s=persistent nachlesenface-smile

Auch was das Benutzen von Anführungszeichen Betrifft ist es, wie du oben sehen kannst, wurscht solange du eben keine Leerzeichen im Pfadnamen drin stehen hast. Solange kannst du mit oder ohne Arbeiten.
Vorteil - kommen Leerzeichen vor ist alles OK und es gibt keinen Fehler
Nachteil - Du musst 2 zeichen mehr eintippen.

Empfehlung: Immer mit in Batchdateien Arbeiten. Ein Vergessen gibt es dann nicht.

Gruß,
Peter
Member: DerWoWusste
DerWoWusste Jul 15, 2013 updated at 10:55:29 (UTC)
Goto Top
Hi.

Ich habe eine Anmerkung zu der letzten Zeile: net time...
Die Uhrzeit kannst Du nicht mit einem Logonskript synchronisieren, denn das erfordert Adminrechte. Du müsstest diese Zeile also in ein Startskript schreiben. ergo: das lief NOCH NIE. Teste immer aus, was Du konfigurierst und auch nicht mit Adminrechten, sondern mit normalen Nutzerrechten.
Member: r.obert
r.obert Jul 17, 2013 at 05:50:39 (UTC)
Goto Top
Hallo zusammen,
nachdem ich nun drei Tage testen ließ, muss ich sagen, dass alles nicht funktioniert. Wenn ich das cmd manuell ausführe, löscht er alle gemappten und mappt neue Volumes. Leider macht er das nicht standardmäßig nach jedem boot. Wenn ich aber das Skript ausführe, und danach reboote funktioniert es. Hat jemand noch eine Idee?

Viele Grüße

Robert
Member: Pjordorf
Pjordorf Jul 17, 2013 at 08:45:09 (UTC)
Goto Top
Hallo,

Zitat von @r.obert:
ich nun drei Tage testen ließ
Warum hast nicht du selbst getestet?

muss ich sagen, dass alles nicht funktioniert.
Das hilft dir hier nicht und uns auch nicht wenn du Pauschal sagst alles geht nicht. Damit kann hier keiner etwas anfangen. Fehlermeldung sehen anders aus. U nd auch im obigen Skript erzeugt jede zeile eine entsprechende Fehlermeldung wenns denn ein Fehler ist, oder eine entsprechende Ausgabe wenn der befehl eben keine Fehler auslöst. Im obigen Script sind alleine 3 malPause drin, welche zwingend einen Tastendruck seitens eines Bedieners erfordert um weiterzuarbeiten, und die dort dann stehenden Ausgabe auf den Monitor ermögöichen schon eine Analyse von dem was da gerade passiert ist. Dort steht aber nie nie niemals Alles ghet nicht.

Wenn ich das cmd manuell
Dann kommt meistens ein C:\...\> Wobei die drei Punkte einen Pfad deines Systems darstellt, abhängig deiner Umgebung deines OSes. Wenn nicht, wurde entweder am System rumgeschraubt odre es wurde kein CMD eingegeben odre dein OS ist kein Windows.

ausführe, löscht er alle gemappten und mappt neue Volumes
Aha, da tut alos etwas das so wie du es erwartetst, oder können wir sagen da geht doch etwas? Fragt sich nur was!

Leider macht er das nicht standardmäßig nach jedem boot
Klar, ohne Anmeldung wird er da ja nicht weitergehen, oder? Booten <> Anmelden. Beim Booten kennt er deinen Benutzer noch gar nicht und somit auch nicht dessen Rechte. Dafür ist ja das Anmelden zuständig. Aber du redest jetzt auch nicht von Startup Skripts, sondern schon von Anmeldeskripts, oder?

Wenn ich aber das Skript ausführe
Welches?

und danach reboote funktioniert es
Durch den Reboot machst du aber alles zunichte was dein Skript gerade gemacht hat. Somit gilt nur das was seit dem Neustart gemacht wurde. Vergiss dann was dein Skript vorher gemacht gemacht hat, das ist nämlich da schon geschichte.

Hat jemand noch eine Idee?
Nur wenn du un s eine oder mehere Logische und aufeinander folgende Fehlermeldungen rüberschiebst, kann dir weitergeholfen werden. Wenn du aber hier nichts an uns weitergibst, irgend etwas testen lässt was wir alles nicht kennen, dann kannst du nicht erwarten das wir mit unserer Kristallkugel uns auf deinen Bildschirm aufschalten und sehen was du alles siehst. Wir wissen nur das was du uns sagst, nicht was du uns nicht sagst. Und denken können wir es uns auch nicht.

Poste mal was das obige Skript den beim Anmelden liefert (nachdem zum 3ten mal das pause alles anhält).

Gruß,
Peter
Member: java667
java667 Jul 17, 2013 at 08:46:13 (UTC)
Goto Top
Bau dir mal mehrere Scripte und teste diese jeweils als Anmelde-Script:

1. Lass dir anzeigen welche Laufwerke verbunden sind
anzeigen.bat
@echo off 
Echo Folgende Laufwerke sind verbunden: 
net use 
pause 

Wenn das korrekt durchgeführt wird:

2. Trennen aller Laufwerke und anzeigen ob es geklappt hat.
trennen.bat
rem Laufwerke Loeschen, alle und immer. 
Echo Alle Laufwerke Loeschen 
net use * /delete /yes 
 
rem Schauen ob alles geloescht wurde 
Echo Es sollten keine Laufwerke mehr vorhanden sein 
net use 
pause 

Klappt das auch zuverlässig:

3. Laufwerke verbinden
verbinden.bat
rem Benoetigte Laufwerke Verbinden 
Echo Verbinden von Laufwerken: 
net use M: \\18\Zeichnungsarchiv
net use N: \\18\Maschinenbau         
net use O: \\18\Automobiltechnik
net use P: \\18\Post 
net use Q: \\18\CAD-Archiv
net use S: \\152\SolidWorks
net use R: \\18\Konstruktionsbilder
 
REM Schauen ob alle verbunden wurden, sofern ich den Meldungen beim verbinden nicht traue 
Echo Verbunden sind: 
net use 
pause 

Wenn alle drei Scripte laufen, fügst du diese zusammen und nimmst den Befehl Pause raus.
Kleiner Tipp: finger nicht im alten Script rum, sondern erstelle drei neue Batch Files.
Member: Pjordorf
Pjordorf Jul 17, 2013 updated at 09:13:58 (UTC)
Goto Top
Hallo,

Zitat von @java667:
Bau dir mal mehrere Scripte und teste diese jeweils als Anmelde-Script:
Welchen Vorteil soll dies haben das ich 3 verschiedene Skriptdateien einbinden muss gegenüber einer Datei un ddamit meine Fehlerquelle verdreifache? Hoffst du das der TO, weil jetzt 3 Dateien, er deshalb das tut was er nicht tut?face-smile Von einen Informationsgewinn kann hier obwohl eine verdreifachung der Dateianzahl vorliegt wohl nicht gesprochen werdenface-smile

Gruß,
Peter
Member: templier
templier Jul 17, 2013 updated at 09:16:09 (UTC)
Goto Top
Zitat von @Pjordorf:
Wir wissen nur das was du uns sagst, nicht was du uns nicht sagst. Und denken können wir es uns auch nicht.
Das ist wohl wahr Peter - Ins "Blaue hinein" kann niemand von uns vernünftige Ratschläge erteilen face-wink

Liebe Grüsse
Ralph

Tante Edith: Das scheint aber hier ein generelles Problem zu sein - Das sich die Leute, bei Ihrem "Problem", einfach unqualfiziert ausdrücken. Selbst nach mehrmaligem Nachhaken, kommen die wichtigsten Informationen viel zu spät. Mein persönlicher Klassiker: "Ich habe vergessen zu erwähnen....." face-wink
Member: r.obert
r.obert Jul 17, 2013 at 09:34:47 (UTC)
Goto Top
Getestet habe ich es am User, bei unserer Gruppe der Konstrukteure.

Also, das ist mein skript:
@echo off
echo Folgende Laufwerke sind verbunden:

net use
pause

rem Laufwerke loeschen, alle und immer.
Echo Alle Laufwerke Loeschen

net use * /delete /yes

rem Schauen ob alles geloescht wurde
Echo Es sollten keine Laufwerke mehr vorhanden sein
net use
pause


Rem Benoetigte Laufwerke Verbinden
Echo Verbinden von Laufwerken:
net use M: \\18\EDV /PERSISTENT:NO
net use N: \\18\Maschinenbau /PERSISTENT:NO
net use O: \\18\Automobiltechnik /PERSISTENT:NO
net use P: \\18\Post /PERSISTENT:NO
net use Q: \\18\Controlling /PERSISTENT:NO
net use R: \\222\Multimedia /PERSISTENT:NO
net use S: \\152\SolidWorks /PERSISTENT:NO
net use U: \\222\Autohaus /PERSISTENT:NO
net use W: \\150\WerWiSo /PERSISTENT:NO

rem Schauen ob alle verbunden wurden sofern ich den Meldungen nicht traue
Echo Verbunden sind:
net use
end


Das funktioniert, wenn ich es manuell betätige!
Hingegen in der GPO funktioniert es nicht, wenn ich den Rechner boote, und mich danach an der Domäne anmelde.
Ich habe gpupdate /force ausgeführt, um sie zu aktualisieren. Verbunden werden die LW mit de o.g. Skript manuell. Wenn ich nun neustarte, und mich wieder an der Domäne anmelde sind die LW immer noch da.
Fehlermeldung gibt es keine, es fehlen nur die Laufwerke, wenn das Skript über die GPO ausgeführt wird.

Client Betriebssystem Windows 7
Server Windows 2003
Member: Pjordorf
Pjordorf Jul 17, 2013 at 09:51:10 (UTC)
Goto Top
Hallo,

Zitat von @r.obert:
Getestet habe ich es
OK.

Also, das ist mein skript:
face-smile

Das funktioniert, wenn ich es manuell betätige!
D.h. auch das was vor Pause kommt ist korrekt und es muss 3 mal Pause bestätigt werden damit das Skript zu ende läuft?

Hingegen in der GPO funktioniert es nicht, wenn ich den Rechner boote, und mich danach an der Domäne anmelde.
Das Skript wird erst nach dem Anmelden gestartet, denn es ist ja ein Anmeldeskript. Also vor dem Anmelden passiert hiemit Logischerweise dann eben nichts. Korrektes Verhalten eines Anmeldeskripts.

Ich habe gpupdate /force ausgeführt, um sie zu aktualisieren.
Stört kein Anmeldeskript und auch kein Startuptskript. Da werden die nicht mit ausgeführt. Denen Interesiert also dein gpudate / Force schlichtweg nicht.

Fehlermeldung gibt es keine, es fehlen nur die Laufwerke, wenn das Skript über die GPO ausgeführt wird.
Aber auch dann solltest du die 3 mal Pause bestätigen müssen weil du ja das Anmeldeskript beim Anmelden siehst (nicht nur zum testen gut). Entweder läuft dein Anmeldeskript gar nicht erst an bzw. wird überhaupt nicht ausgeführt (meine Vermutung), oder es läuft an und erzeugt Fehler.

Du hast schon gelesen das ein Anmeldeskript sichtbar beim Anmelden ausgeführt werden kann? Ohne diesem ist es nur ein Blindflug durch das Universum.

Client Betriebssystem Windows 7
Server Windows 2003
Nett das du es jetzt schon für Erwähnenswert hälstface-smile
Aber für dein Problem macht es nix ob 2K3 oder 2K8 oder 2K11 oder XP/W7. Wie du Anmeldeskripts Sichtbar ausführen kannst hast du ja in meinem Div. Fileserver sollen nach Anmeldung automatisch gemountet werden schon gelesen, oder?

Gruß,
Peter
Member: templier
templier Jul 17, 2013 at 09:53:43 (UTC)
Goto Top
Zitat von @Pjordorf:
> Client Betriebssystem Windows 7
> Server Windows 2003
Nett das du es jetzt schon für Erwähnenswert hälstface-smile
*grins*
Member: java667
java667 Jul 17, 2013 at 09:56:50 (UTC)
Goto Top
Hallo,

Zitat von @Pjordorf:
Hallo,

> Zitat von @java667:
> Bau dir mal mehrere Scripte und teste diese jeweils als Anmelde-Script:
Welchen Vorteil soll dies haben das ich 3 verschiedene Skriptdateien einbinden muss gegenüber einer Datei un ddamit meine
Fehlerquelle verdreifache? Hoffst du das der TO, weil jetzt 3 Dateien, er deshalb das tut was er nicht tut?face-smile Von einen
Informationsgewinn kann hier obwohl eine verdreifachung der Dateianzahl vorliegt wohl nicht gesprochen werdenface-smile

Gruß,
Peter

Vielleicht etwas missverständlich ausgedrückt. Er soll nicht alle drei einbinden, sondern jedes Script einzeln. Wenn alle drei einzeln funktionieren, sollten sie auch gemeinsam funktionieren. Ausserdem kann er so einfacherer überprüfen, wo der Fehler liegt.

Mir ist klar, das es die 3 fache Menge an Arbeit ist, aber @r.obert scheint ja damit Probleme zu haben, dieses einfache Script zu überblicken.

@r.obert
/PERSISTENT:NO kannst du dir sparen, net use * /delete /yes löscht deine Laufwerk zuverlässig.