Bei einem Domänenbenutzer werden nicht alle Netzlaufwerke gemappt
Hallo,
folgendes Problem:
Die Netzlaufwerke werden per Logon-Script gemappt, dabei wird mit dem Tool "ifmember.exe" die Gruppenzugehörigkeit geprüft, wenn Member mappen, wenn nicht, kein Mapping.
So werden im Script alle Gruppen abgefragt.
Bei einem Anwender werden werde nur die "allgemeinen" Mappings gemountet, die übrigen nicht, obwohl er in den entsprechenden Gruppen Mitglied ist.
Ein Versuch an einem anderen Rechner wurde bereits durchgeführt, ohne Erfolg, ich selbst habe mich in zwei seiner Gruppen hinzugefügt und bekam die Laufwerke gemappt.
Hier das Script (modifiziert)
@echo OFF
REM ----- mappings Allgemein ----
start net use u: \\server.local\oulocal\Benutzer\%USERNAME%
start net use i: \\server.local\oulocal\Organisation /persistent:no
start net use z: \\server.local\oulocal\Allgemein /persistent:no
REM ---- mappings OU-Administratoren ----
ifmember oulocal-OUAdmins
if NOT %ERRORLEVEL%==1 goto ExitOUAdmin
start net use l: \\server.local\oulocal\DATEN /persistent:no
start net use m: \\server.local\oulocal\DATEN2 /persistent:no
:ExitOUAdmin
REM ---- mappings Abteilungsleiter ----
ifmember oulocal-Abteilungsleiter
if NOT %ERRORLEVEL%==1 goto ExitAbteilungsleiter
start net use j: \\server.local\oulocal\Abteilungsleiter /persistent:no
:ExitAbteilungsleiter
REM ---- mappings Controlling ----
ifmember oulocal-Controlling
if NOT %ERRORLEVEL%==1 goto ExitControlling
start net use m: \\server.local\oulocal\Controlling /persistent:no
:ExitControlling
REM ---- mappings Geschäftsleitung ----
ifmember oulocal-Geschaeftsleitung
if NOT %ERRORLEVEL%==1 goto ExitGeschaeftsleitung
start net use p: \\server.local\oulocal\Geschaeftsleitung /persistent:no
:ExitGeschaeftsleitung
REM ---- Execute at login ----
start wuauclt /resetauthorization /detectnow
start %logonserver%\netlogon\Mailsignature\signagent.exe
EXIT
folgendes Problem:
Die Netzlaufwerke werden per Logon-Script gemappt, dabei wird mit dem Tool "ifmember.exe" die Gruppenzugehörigkeit geprüft, wenn Member mappen, wenn nicht, kein Mapping.
So werden im Script alle Gruppen abgefragt.
Bei einem Anwender werden werde nur die "allgemeinen" Mappings gemountet, die übrigen nicht, obwohl er in den entsprechenden Gruppen Mitglied ist.
Ein Versuch an einem anderen Rechner wurde bereits durchgeführt, ohne Erfolg, ich selbst habe mich in zwei seiner Gruppen hinzugefügt und bekam die Laufwerke gemappt.
Hier das Script (modifiziert)
@echo OFF
REM ----- mappings Allgemein ----
start net use u: \\server.local\oulocal\Benutzer\%USERNAME%
start net use i: \\server.local\oulocal\Organisation /persistent:no
start net use z: \\server.local\oulocal\Allgemein /persistent:no
REM ---- mappings OU-Administratoren ----
ifmember oulocal-OUAdmins
if NOT %ERRORLEVEL%==1 goto ExitOUAdmin
start net use l: \\server.local\oulocal\DATEN /persistent:no
start net use m: \\server.local\oulocal\DATEN2 /persistent:no
:ExitOUAdmin
REM ---- mappings Abteilungsleiter ----
ifmember oulocal-Abteilungsleiter
if NOT %ERRORLEVEL%==1 goto ExitAbteilungsleiter
start net use j: \\server.local\oulocal\Abteilungsleiter /persistent:no
:ExitAbteilungsleiter
REM ---- mappings Controlling ----
ifmember oulocal-Controlling
if NOT %ERRORLEVEL%==1 goto ExitControlling
start net use m: \\server.local\oulocal\Controlling /persistent:no
:ExitControlling
REM ---- mappings Geschäftsleitung ----
ifmember oulocal-Geschaeftsleitung
if NOT %ERRORLEVEL%==1 goto ExitGeschaeftsleitung
start net use p: \\server.local\oulocal\Geschaeftsleitung /persistent:no
:ExitGeschaeftsleitung
REM ---- Execute at login ----
start wuauclt /resetauthorization /detectnow
start %logonserver%\netlogon\Mailsignature\signagent.exe
EXIT
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 382583
Url: https://administrator.de/contentid/382583
Ausgedruckt am: 17.11.2024 um 15:11 Uhr
25 Kommentare
Neuester Kommentar
Moin,
Login-Scripts mit ifmember sind so... 1990 :/ ... das macht man doch per GPO!
Ansonsten: hast du mehrere DCs/Sites? Evtl. passt was mit der Replikation nicht? Oder er/sie ist hat eine Zugriffsverweigerung am Share eingetragen?
Was passiert, wenn du das Script "per Hand" nach dem Login ausführst? Evtl. sieht man da Fehlermeldungen
lg
Slainte
Login-Scripts mit ifmember sind so... 1990 :/ ... das macht man doch per GPO!
Ansonsten: hast du mehrere DCs/Sites? Evtl. passt was mit der Replikation nicht? Oder er/sie ist hat eine Zugriffsverweigerung am Share eingetragen?
Was passiert, wenn du das Script "per Hand" nach dem Login ausführst? Evtl. sieht man da Fehlermeldungen
lg
Slainte
Hi,
bevor gleich andere Anworten kommen, warum Du denn dafür keine GPO/GPP benutzt, eine Frage:
Kann dieser Benutzer denn den UNC-Pfad direkt über den Explorer öffnen? Also z.B.
\\server.local\oulocal\Geschaeftsleitung
Wenn nein, dann hast Du aller Wahscheinlichkeit nach ein Problem in den Berechtigungen. z.B. in der Addition der Freigabe- und NTFS-Berechtigungen, oder dass für diesen Benutzer oder einer seiner Gruppen eine explizite Verweigerung gilt.
Wenn URL doch geht:
Kann er das Laufwerk manuell über den Exploter oder mit "net use" verbinden? Falls nein, welche Meldung kommt da?
E.
bevor gleich andere Anworten kommen, warum Du denn dafür keine GPO/GPP benutzt, eine Frage:
Kann dieser Benutzer denn den UNC-Pfad direkt über den Explorer öffnen? Also z.B.
\\server.local\oulocal\Geschaeftsleitung
Wenn nein, dann hast Du aller Wahscheinlichkeit nach ein Problem in den Berechtigungen. z.B. in der Addition der Freigabe- und NTFS-Berechtigungen, oder dass für diesen Benutzer oder einer seiner Gruppen eine explizite Verweigerung gilt.
Wenn URL doch geht:
Kann er das Laufwerk manuell über den Exploter oder mit "net use" verbinden? Falls nein, welche Meldung kommt da?
E.
Zitat von @SlainteMhath:
Login-Scripts mit ifmember sind so... 1990 :/ ... das macht man doch per GPO!
Sag ich doch! Login-Scripts mit ifmember sind so... 1990 :/ ... das macht man doch per GPO!
Hallo,
ich würde zuerst mal prüfen, ob die ifmember-Geschichte sauber läuft (z.B., indem man die Batch-Datei um eine Protokollierung anreichert).
Des Weiteren sehe ich z.B., dass Du M: einmal für "Controlling" und einmal für "Admin" benutzt. Was soll denn z.B. rauskommen, wenn sich ein Controller anmeldet, den PC sperrt und sich dann der Admin am gleichen PC anmeldet?
Diese Form der Abgrenzung ist - vorsichtig ausgedrückt - ausgesprochen unüblich. Normalerweise nimmt man einheitliche Laufwerksbuchstaben, gibt allen Benutzern alle Laufwerke und regelt das über die Zugriffsrechte (vom Fileserver).
Mit anderen Worten - ich bezweifle, dass es sich um einen Programmierfehler in der Batch-Datei handelt. Für mich sieht das eher wie ein Problem mit "ismember.exe" oder einer allgemeinen Instabilität in der Vorgehensweise aus.
Gruß,
Jörg
ich würde zuerst mal prüfen, ob die ifmember-Geschichte sauber läuft (z.B., indem man die Batch-Datei um eine Protokollierung anreichert).
Des Weiteren sehe ich z.B., dass Du M: einmal für "Controlling" und einmal für "Admin" benutzt. Was soll denn z.B. rauskommen, wenn sich ein Controller anmeldet, den PC sperrt und sich dann der Admin am gleichen PC anmeldet?
Diese Form der Abgrenzung ist - vorsichtig ausgedrückt - ausgesprochen unüblich. Normalerweise nimmt man einheitliche Laufwerksbuchstaben, gibt allen Benutzern alle Laufwerke und regelt das über die Zugriffsrechte (vom Fileserver).
Mit anderen Worten - ich bezweifle, dass es sich um einen Programmierfehler in der Batch-Datei handelt. Für mich sieht das eher wie ein Problem mit "ismember.exe" oder einer allgemeinen Instabilität in der Vorgehensweise aus.
Gruß,
Jörg
Hallo,
Wie gesagt - ich habe Dich gebeten zu überprüfen, ob die Batch-Datei überhaupt in die Schleife einsteigt, also z.B. so:
In der %tmp%\anmeldelog.txt sollte dann stehen, welche Gruppen identifiziert wurden.
Aktuell weißt Du nämlich nicht einmal, ob dein User die ifmember.exe überhaupt ausführen kann und darf und ob er die im Pfad hat usw.
Ganz abgesehen davon, dass die Datei aus dem Resourcekit für Windows Server 2003 stammt und somit spätestens über die UAC stolpert. Wenn sie überhaupt noch startet...
Eventuell hat dein Script Probleme, weil die Laufwerke bereits existieren? Im Zweifelsfall würde ich (ebenfalls testweise) folgendes an den Anfang malen:
"Suchen" musst Du den Fehler übrigens selber
Gruß,
Jörg
Wie gesagt - ich habe Dich gebeten zu überprüfen, ob die Batch-Datei überhaupt in die Schleife einsteigt, also z.B. so:
@ECHO OFF
REM ----- mappings Allgemein ----
start net use u: \\server.local\oulocal\Benutzer\%USERNAME%
start net use i: \\server.local\oulocal\Organisation /persistent:no
start net use z: \\server.local\oulocal\Allgemein /persistent:no
REM ---- mappings OU-Administratoren ----
ifmember oulocal-OUAdmins
if NOT %ERRORLEVEL%==1 goto ExitOUAdmin
echo Administrator > %tmp%\anmeldelog.txt
start net use l: \\server.local\oulocal\DATEN /persistent:no
start net use m: \\server.local\oulocal\DATEN2 /persistent:no
:ExitOUAdmin
REM ---- mappings Abteilungsleiter ----
ifmember oulocal-Abteilungsleiter
echo Abteilungsleiter >> %tmp%\anmeldelog.txt
if NOT %ERRORLEVEL%==1 goto ExitAbteilungsleiter
start net use j: \\server.local\oulocal\Abteilungsleiter /persistent:no
:ExitAbteilungsleiter
REM ---- mappings Controlling ----
ifmember oulocal-Controlling
echo Controlling >> %tmp%\anmeldelog.txt
if NOT %ERRORLEVEL%==1 goto ExitControlling
start net use m: \\server.local\oulocal\Controlling /persistent:no
:ExitControlling
REM ---- mappings Geschäftsleitung ----
ifmember oulocal-Geschaeftsleitung
echo Geschaeftsleitung >> %tmp%\anmeldelog.txt
if NOT %ERRORLEVEL%==1 goto ExitGeschaeftsleitung
start net use p: \\server.local\oulocal\Geschaeftsleitung /persistent:no
:ExitGeschaeftsleitung
REM ---- Execute at login ----
start wuauclt /resetauthorization /detectnow
start %logonserver%\netlogon\Mailsignature\signagent.exe
EXIT
In der %tmp%\anmeldelog.txt sollte dann stehen, welche Gruppen identifiziert wurden.
Aktuell weißt Du nämlich nicht einmal, ob dein User die ifmember.exe überhaupt ausführen kann und darf und ob er die im Pfad hat usw.
Ganz abgesehen davon, dass die Datei aus dem Resourcekit für Windows Server 2003 stammt und somit spätestens über die UAC stolpert. Wenn sie überhaupt noch startet...
Eventuell hat dein Script Probleme, weil die Laufwerke bereits existieren? Im Zweifelsfall würde ich (ebenfalls testweise) folgendes an den Anfang malen:
net use i: /delete
net use j: /delete
net use l: /delete
net use m: /delete
net use p: /delete
net use u: /delete
net use z: /delete
"Suchen" musst Du den Fehler übrigens selber
Gruß,
Jörg
Hallo,
Toller Test.
Dann finde heraus, was der Unterschied zwischen Deiner Anmeldung und seiner Anmeldung ist.
Ausser dem verwendeten Benutzernamen/Passwort und das Du lokale/DomaenenAdminrechte hast.
BFF
Ich habe mich an seinem PC angemeldet und bekomme die Laufwerke, er bekommt die Laufwerke an meinem PC nicht.
Toller Test.
Dann finde heraus, was der Unterschied zwischen Deiner Anmeldung und seiner Anmeldung ist.
Ausser dem verwendeten Benutzernamen/Passwort und das Du lokale/DomaenenAdminrechte hast.
BFF
Zitat von @Tektronix:
gehe doch mal direkt auf dem Fileserver auf den freigegebenen Ordner, rechtsklick, Eigenschaften, Sicherheit, Erweitert, Effektiver Zugriff. Dort mal schauen was rauskommt wenn Du explizit den User auswählst.
Er hat doch schon geschrieben, dass der Zugriff über UNC funktioniert.gehe doch mal direkt auf dem Fileserver auf den freigegebenen Ordner, rechtsklick, Eigenschaften, Sicherheit, Erweitert, Effektiver Zugriff. Dort mal schauen was rauskommt wenn Du explizit den User auswählst.
kennt jemand eine Lösung dazu?
GPPs ....https://blogs.technet.microsoft.com/askds/2009/01/07/using-group-policy- ...
Hallo,
Bitte entschuldige, falls das unbeabsichtigt zynisch klingt. Mehr fällt mir momentan nicht ein
Gruß,
Jörg
Zitat von @osdgap:
Hier das Ergebnis, es scheint so zu sein das "ifmember" Probleme hat wenn ein User in mehr als xxx Gruppen ist (siehe Bild im Anhang, in diesem Fall ist der User in 84 Gruppen, kennt jemand eine Lösung dazu?
Hier das Ergebnis, es scheint so zu sein das "ifmember" Probleme hat wenn ein User in mehr als xxx Gruppen ist (siehe Bild im Anhang, in diesem Fall ist der User in 84 Gruppen, kennt jemand eine Lösung dazu?
- Microsoft bitten, dieses uralte Tool an deine Bedürfnisse anzupassen
- Ein eigenes Tool programmieren
- Der Best Practice folgen und Gruppenrichtlinien nutzen
Bitte entschuldige, falls das unbeabsichtigt zynisch klingt. Mehr fällt mir momentan nicht ein
Gruß,
Jörg
Bechtle :\
Wenns unbedingt Batch sein muss, kannst du whoami /groups probieren.
Oder, falls möglich, auf Powershell umsteigen. Damit geht das dann auch ein bisschen schöner
EDIT: Musst halt darauf achten, das keine falscherkennung vorkommen kann, weil es z.B "Gruppe1" und "Gruppe12" gibt. Dann würde er bei dem Code oben die Gruppe1 finden, obwohl der User eigentlich nur in Gruppe12 ist.
Ansonsten: Zentrale anrufen und sagen die sollen ihren ### mal auf die Kette bekommen...
Wenns unbedingt Batch sein muss, kannst du whoami /groups probieren.
whoami /groups | findstr /I /C:"GRUPPENNAME" > NUL
if %errorlevel% == 0 (
echo In Group
) else (
echo Not in Group
)
Oder, falls möglich, auf Powershell umsteigen. Damit geht das dann auch ein bisschen schöner
EDIT: Musst halt darauf achten, das keine falscherkennung vorkommen kann, weil es z.B "Gruppe1" und "Gruppe12" gibt. Dann würde er bei dem Code oben die Gruppe1 finden, obwohl der User eigentlich nur in Gruppe12 ist.
Ansonsten: Zentrale anrufen und sagen die sollen ihren ### mal auf die Kette bekommen...
Kann mich nur den anderen anschließen. Mach das per GPO. Hier was ähnliches zu dem Thema:
Netzlaufwerke per GPO
Gruß Arno
Netzlaufwerke per GPO
Gruß Arno