cougar77
Goto Top

IFMEMBER logon Skript - Fehlerhafte Ergebnisse

Guten Morgen,

wieder mal ein super Phänomen...

Eigentlich läuft das Logon-Skript zum Verbinden der Laufwerke super, und es wird alles richtig abgearbeitet.
Aber in Einzelfällen kommt es dazu, dass IFMEMBER ein falsches Ergebnis liefert - es behauptet bei einem Durchlauf des Skripts (mit ca. 20 Aufrufen von IFMEMBER) plötzlich, dass der angemeldete Benutzer Mitglied in allen AD-Gruppen wäre. Es werden also tatsächlich alle Laufwerke verbunden. Der Benutzername wird aber IFMEMBER offenbar richtig übergeben.
Richtig seltsam ist, dass das nur bei ein paar bestimmten Benutzern auftritt, und hier auch nur bei ca. 30% der Fälle.

Content-Key: 258299

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

Printed on: April 18, 2024 at 22:04 o'clock

Member: DerWoWusste
DerWoWusste Dec 22, 2014 at 12:43:25 (UTC)
Goto Top
Hi.

Dass ein Tool wie ifmember buggy ist, glaube ich nicht wirklich:
-es hat genau einen Zweck
-es ist jahrelang erprobt
-es wird von vielen Admins verwendet und Probleme wären bekannt.

Ich würde mir so einen Problemuseraccount nehmen, und in dessen Namen das Skript auomatisiert wieder und wieder laufen lassen und beispielsweise eine messagebox aufpoppen lassen, wenn ifmember meint, er wäre in einer Gruppe, in der der User aber nicht ist. Solche Tests im Fehlerumfeld führen sehr oft zur Lösung.
Member: Cougar77
Cougar77 Dec 22, 2014 at 20:50:16 (UTC)
Goto Top
Momentan logge ich die Durchläufe beim Anmelden bei allen Benutzern mit.
Daher weiß ich, dass es mehr oder weniger regelmässig aber nur bei bestimmten Benutzern passiert.
Dem IFMEMBER wird der korrekte Benutzername übergeben.
Es ist unabhängig, bei welchem DC angemeldet wird.

Ich weiß ehrlich gesagt nicht mehr, wo ich suchen soll, deswegen meine Frage, ob das schon mal jemand gesehen hat.
Member: emeriks
emeriks Dec 22, 2014 updated at 22:06:21 (UTC)
Goto Top
Hi,
bitte mal mehr Randinformationen.

  1. Vielleicht die Batch hier posten?
  2. Fragst Du nur direkte oder auch indirekte Mitgliedschaften ab?
  3. Mitgliedschaften in Gruppen mehrerer Domänen?
  4. Welchen Typ haben die Gruppen?
  5. Wieviele Mitgliedschaften pro Benutzer insgesamt? (direkte + indirekte)

E.
Member: DerWoWusste
DerWoWusste Dec 22, 2014 at 22:42:12 (UTC)
Goto Top
Emeriks Fragen werden alle hinfällig, wenn man betrachtet, dass es manchmal geht, manchmal nicht. Irgendwas ist da buggy - entweder die Komponente die fragt (ifmember), oder die, die antwortet (AD). Keine Ahnung, ich würde weiter rumtesten mit diversen Usern und wenigen Gruppen, später dann mehr Gruppen, denen sie angehören.
Member: emeriks
emeriks Dec 22, 2014 at 22:47:01 (UTC)
Goto Top
@DerWoWusste
Wenn Du Dich da mal nichts irrst ...
Member: Cougar77
Cougar77 Dec 23, 2014 at 06:26:43 (UTC)
Goto Top
- An einen Fehler im Batch selbst glaube ich auch nicht, da es bei 80% aller User völlig problemlos klappt, aber bei Gelegenheit poste ich gerne einen Ausschnitt.
- Grundsätzlich nur direkte
- Hier gibt es nur eine Domäne
- müssten alle globale Sicherheitsgruppen sein, ich prüf das nochmal nach
- Keine indirekte, ansonsten unterschiedlich von 4-10
Member: Cougar77
Cougar77 Dec 23, 2014 at 07:13:19 (UTC)
Goto Top
Nochmal geprüft, alle relevanten Gruppen sind globale Sicherheitsgruppen.

Ausschnitt, der im Zweifelsfalls fehlerhaft läuft:

\\XXX\netlogon\ifmember grp_ABC
if errorlevel 1 (

net use Y: \\srv-XXX\ABC /persistent:no
set laufwerk04="Y:\"
set name04="ABC"
)
Member: emeriks
emeriks Dec 23, 2014 updated at 13:22:33 (UTC)
Goto Top
Aha.
Jo, ich tippe auf Netzwerk. Wenn ein Kommando nicht erkannt wird, z.B. weil EXE nicht da, dann wird - meines Wissens - ein folgendes "if errorlevel" immer mit True beantwortet.

Hast Du die GPO "bei Anmeldung immer auf das Netzwerk warten" aktiviert? Wenn nein, dann teste das bitte mal damit.

E.

Edit:
Wobei dann die Frage bleibt, warum die Laufwerke dann verbunden werden.
\\xxx\ ist die Domäne, richtig?
Und \\srv-xxx\ irgendein Member?
Könnt es da sein, dass es temporäre Störungen im LAN gibt, die eine Abfrage der Domäne verhindern? Wie verhält sich IFMEMBER (ich setze sowas selbst nicht ein), wenn die Domäne nicht erreichbar ist? Welche Errorlevel?

E.
Member: DerWoWusste
DerWoWusste Dec 23, 2014 updated at 16:59:15 (UTC)
Goto Top
Nehmen wir an, es wären Konnektivitätsprobleme zum DC. Dann würde ifmember gar nicht gefunden, korrekt, somit errorlevel höher als Null und das Laufwerk würde verbunden. Das ist die einzige logische Erklärung. Würde es gefunden, aber die Gruppen wären nicht abfragbar (AD antwortet warum auch immer nicht), dann würde ifmember zunächst einmal merkbar zögern und sich dann an den Token des Users ranmachen und die Gruppen daraus ziehen und korrekt antworten.
Vorschlag zur Güte: klopp ifmember in die Tonne und nimm fortan Group Policy preferences drive mappings - läuft bestimmt besser, da es gepflegt wird, im Gegensatz zu ifmember.
Member: Cougar77
Cougar77 Dec 23, 2014 at 20:31:44 (UTC)
Goto Top
@emerik
Ja, die GPO ist schon drin. War auch der erste Gedanke, weil wir schon mal hein anderes Problem hatten, da lag es an den SSDs, die waren einfach zu schnell.

Soweit ich weiß, gibt Ifmember als errorlevel die anzahl der als passend gefundenen AD-Gruppen zurück. Macht auch Sinn, denn wenn der Fehler auftritt, ist der errorlevel 53, was so über den Daumen der Anzahl aller vorhandenen Gruppen entspricht.

@DerWoWusste
Wenn ifmember einen positiven Eintrag findet, ist der errorlevel nicht 0, sonder die Anzahl der passenden Gruppenmitgliedschaften, in diesem Fall = 53. Errlvl 0 wäre keine Gruppenzugehörigkeit gefunden, also keine Verbindung, normalzustand sollte errlvl 1 sein.

Das Problem ist halt, dass es eigentlich super funktioniert, nur bei 5 Nutzern bei 20% der Fälle nicht.
Member: DerWoWusste
DerWoWusste Dec 23, 2014 at 20:41:23 (UTC)
Goto Top
Ja, ich weiß.
Gut, dass wir den errorlevel nun haben, ein "file not found" wäre 9009.

Mein Vorschlag bleibt ifmember abzulegen.
Member: emeriks
emeriks Dec 23, 2014 at 21:00:37 (UTC)
Goto Top
Mein Vorschlag bleibt ifmember abzulegen.
Stimme zu.
Member: Cougar77
Cougar77 Dec 29, 2014 at 09:38:09 (UTC)
Goto Top
Grundsätzlich gebe ich Euch da Recht ;)
Aber so einfach wird das nicht.
Hauptsächlich würde mich hier interessieren WARUM es in diesen doch ziemlich wenigen Fällen nicht funktioniert.
Member: emeriks
emeriks Dec 29, 2014 at 12:14:38 (UTC)
Goto Top
Hi,
Aber so einfach wird das nicht.
Wieso? Wo siehst Du da Probleme?
Hauptsächlich würde mich hier interessieren WARUM es in diesen doch ziemlich wenigen Fällen nicht funktioniert.
Denkanstösse hast Du ja bereits bekommen.

E.
Member: DerWoWusste
DerWoWusste Dec 29, 2014 at 14:30:33 (UTC)
Goto Top
Denkanstösse hast Du ja bereits bekommen
sehe ich auch so. Mach die beschriebenen Tests im Fehlerumfeld:
Ich würde mir so einen Problemuseraccount nehmen, und in dessen Namen das Skript auomatisiert wieder und wieder laufen lassen und beispielsweise eine messagebox aufpoppen lassen, wenn ifmember meint, er wäre in einer Gruppe, in der der User aber nicht ist.