mrtylerdurden
Goto Top

Batch-Variable aus anderer Domäne oder keymgr.dll

Hallo an alle Leser und schon mal Danke für Eure Zeit!

Kennt jemand eine Möglichkeit, wie man per Systemvariable (bspw. %username%) oder Scriptariable den Benutzernamen aus einer anderen verbundenen Domäne angeben kann? LDAP?

Ich hoffe, ich mach's verständlich:

- Viele Clients im Domänenbetrieb (Anmeldedomäne)
- Pfade von Netzlaufwerken befinden sich in anderer Domäne (Netzlaufwerkdomäne)
- Anmeldeinformationen sind unterschiedlich
- Mappen der Netzlaufwerke für alle Clients per eigenem, nicht administrierbarem Programm
- Anmeldung an Netzlaufwerkdomäne geschieht per keymgr.dll

Nun muss per Batch, die vorerst jedem Nutzer zugeschickt und in den Autostart geschoben werden soll, kurzfristig ein zusätzliches Netzlaufwerk verbunden werden. Der Pfad dieses zusätzlichen Netzlaufwerkes enthält den Benutzernamen, mit dem der Nutzer per keymgr.dll mit der Netzlaufwerkdomäne verbunden ist.

Wie gesagt, die Anmeldeinformationen sind leider unterschiedlich. Wäre es nicht so, müsste ich abgesehen vom Passwort die Anmeldung auch nicht mit der keymgr.dll regeln.

Anmeldedomäne:
Benutzername = 12345678
Passwort = PasswortInAnmeldedomäne

Win + R: control keymgr.dll:
Server: *.Netlaufwerkdomäne
Name: NutzernameInNetzlaufwerkdomäne@Netlaufwerkdomäne
Passwort: PasswortInNetzlaufwerkdomäne

Batch im Autostart:
NET USE x: \\server.Netlaufwerkdomäne\NutzernameInNetzlaufwerkdomäne\freigabeordner
NET USE y: \\server.Netlaufwerkdomäne\blablabla\freigabeordner

Und den NutzernameInNetzlaufwerkdomäne hätte ich gern als Variable für die Batch im Autostart des Nutzers in der Anmeldedomäne, weil dieser eben im Pfad des Netzlaufwerkes individuell auftaucht. Die könnte ich dann verschicken und jeder legt sie in seinen Autostart.

Die bidirektionale transitive Vertrauensstellung ist gesetzt.
Leider bin ich nicht dazu berechtigt, die Anmeldedomäne zu administrieren, lediglich die Netzlaufwerkdomäne. Ansonsten müsste ich ja auch nicht Netzlaufwerke für Nutzer der Anmeldedomäne per Batch verbinden, sondern könnte es direkt im AD der Anmeldedomäne tun.
Und für LDAP steht mir kein Web Server zur Verfügung ... face-sad

Mit den DomAdmins der Anmeldedomäne kann ich auch nicht in der Form kommunizieren (vertragliche Regelungen ... naja).

Content-ID: 180780

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

Ausgedruckt am: 19.11.2024 um 15:11 Uhr

60730
60730 20.02.2012 um 17:15:44 Uhr
Goto Top
moin,

irgendwie werd ich nicht aus der Fragestellung klüger....

Nun muss per Batch, die vorerst jedem Nutzer zugeschickt und in den Autostart geschoben werden soll, kurzfristig ein zusätzliches Netzlaufwerk verbunden werden.
??????
Und den NutzernameInNetzlaufwerkdomäne hätte ich gern als Variable für die Batch im Autostart des Nutzers in der Anmeldedomäne, weil dieser eben im Pfad des Netzlaufwerkes individuell auftaucht.
Die könnte ich dann verschicken und jeder legt sie in seinen Autostart.

  • Kann es sein, dass ich dich grade beim Versuch unterbreche eine Kugel zum Mond zu schiessen, damit die einmal um die Umlaufbahn kann und dann um die die Sonne herum in dein Knie zu treffen?
Und für LDAP steht mir kein Web Server zur Verfügung
Bist du ein Turnschuhadmin mit Collegeschuhen
  • Meine Haare sind zu lang, weil ich kein Fahrrad habe?

if not exist "%userprofile%\startm~1\progra~1\autost~1\durchsknie.cmd" echo NET USE x: \\server.Netlaufwerkdomäne\NutzernameInNetzlaufwerkdomäne\freigabeordner>"%userprofile%\startm~1\progra~1\autost~1\durchsknie.cmd"
MrTylerDurden
MrTylerDurden 21.02.2012 um 20:18:58 Uhr
Goto Top
Vorerst danke für eine Antwort.

Wobei ich doch auf eine eher zielführende Antwort gehofft habe, welche weniger Fragen und sarkastische Anmerkungen zu meiner Person beinhalten.

Aus diesem Grunde und da ich solche Bemerkungen offen gesagt für eine Frechheit halte, erspare ich mir jegliches verteidigendes Kommentar zum Thema Kugeln, Monde und Collegeschuhe.

Ich versuche es auf ein Neues noch deutlicher oder einfacher zu machen:

Nutzer melden sich in Domäne A (Anmeldedomäne) an.
Ein zusätzliches Netzlaufwerk soll per Autostart-NET-USE-Batch zur Domäne B (Netzlaufwerkdomäne) verbunden werden.
Dieser Pfad zur Domäne B enthält einen Nutzernamen, der von Nutzer zu Nutzer unterschiedlich ist, ungleich dem Anmeldenamen in Domäne A ist, und per control keymgr.dll an jedem PC einzeln eingerichtet wurde.
Um zu umgehen, dass an jeden PC gegangen werden muss, um die Batch im Autostart mit dem entsprechenden Nutzernamen im Pfad zu hinterlegen, wie er über keymgr.dll eingerichtet wurde, wird dieser jeweilige Nutzername für die Domäne B in einer universellen Batch benötigt.

Gruß
Tyler
60730
60730 21.02.2012 um 21:15:19 Uhr
Goto Top
Salve,

omg...

Dann gerne deutlicher.

Einen Webserver und LDAP - dazu hätte ich /andere vielleicht gerne etwas mehr wissen wollen.
(Üblicherweiser nimmt man auf einem Webserver eine LDAP Anbindung, um dort die User mit einem LDAP verwalten zu können. Einen Share auf einem Webserver einzurichten ist dagegen in meinem Bekanntenkreis eher unüblich)

Was du vorhast, ist nicht wirklich "profilike" (siehe z.B autostartordner) auch wenn du den Versuch unternimmst, besser (Collegeschuhe) eine Turnschuhadministration machen zu wollen.
Dann ist in der letzten Zeile eine ganz simple "Lösung", die so komplett ist, wie deine Fragestellung es zuläßt.

Von daher....

Du hast irgendeine Liste (in Dateiform), anhand man Benutzer von Domain A mit dem Pfad in Domain B verbinden kann?

Ich versuche es auf ein Neues noch deutlicher oder einfacher zu machen:

Bitte versuche es nicht, sondern schreib es so deutlich wie möglich das jemand, der weder Domain A noch B Administriert da einen Tipp geben kann.
Peacer
Peacer 24.02.2012, aktualisiert am 18.10.2012 um 18:50:07 Uhr
Goto Top
Guten Tag,

ich habe eine Frage.

inwiefern unterscheidet sich denn der Benutzername der Netzwerkdomain und der Anmeldedomain?

Kannst du dir den Benutzernamen nicht irgendwie generieren? Bzw. kommt denn der Benutzername der Netzwerkdomain irgendwo vor?

Falls man sich den Namen nirgends generieren kann, kannst du es ja mit einer zentralen ini file (je nachdem wie viele User das betrifft) versuchen, quasi als "Datenbank". User braucht ja nur Leserechte.

In der ini file wird z.B. folgendes hinterlegt

[SECTION1]
CurrentLogonName1_AnmeldeDomain=UserName1_NetzwerkDomain
CurrentLogonName2_AnmeldeDomain=UserName2_NetzwerkDomain
CurrentLogonName3_AnmeldeDomain=UserName3_NetzwerkDomain
CurrentLogonName4_AnmeldeDomain=UserName4_NetzwerkDomain

...

Jetzt liest du mit der Batch den "CurrentLogonName" des derzeit angemeldeten Users am jeweiligen Client (der sollte ja eindeutig sein) aus und nimmst den als Suchvariable für die ini her.

Username mit batch auslesen:
Batch zum auslesen des givenName anhand des momentan angemeldeten Benutzers

ini Datei lesen (ist nur ein Beispiel und ungetestet):

@echo off &setlocal

for /f "usebackq delims=" %%a in ("xyz.ini") do "set %%a"  
echo %UserName2_AnmeldeDomain%
pause

Und das Suchergebnis nimmst du dann für deine Batchfile zum verbinden des Laufwerks her.

Es ist zwar am Anfang ein bisschen Arbeit, aber ihr könnt euch ja ein Tool zum einlesen und bearbeiten der jeweiligen ini Datei schreiben, dann wirds später einfacher.
60730
60730 24.02.2012 um 11:09:54 Uhr
Goto Top
Moin,

ähh...

for /f "usebackq delims=" %%a in ("xyz.ini") do "set %%a"

Magst du da vielleicht nochmal drüber schauen?
Und dann knabbert Kiollege Tyler ja schon seit 3 Tagen an der Zeile
Du hast irgendeine Liste (in Dateiform), anhand man Benutzer von Domain A mit dem Pfad in Domain B verbinden kann?

Bzw. ich finde das mit dem "Ich kenne das Problem nicht, aber hab ne Lösung" immer etwas supotimal.

@ Tyler:
Genug geschmollt? alles wieder gut? Wann können wir mit mehr Info rechnen?
Peacer
Peacer 24.02.2012 um 22:30:32 Uhr
Goto Top
Ich finde deine arrogante Art und Weise mit dem Hilfesuchenden und den Mithelfenden umzugehen ist etwas suboptimal.

Das er schmollt kann man bei deinen Antworten durchaus verstehen. Und ob ich die Aufgabenstellung verstanden habe oder nicht, kannst du genauso wenig beurteilen, denn scheinbar hast du sie ja selbst nicht verstanden.

Nun zum Thema:

Wenn er nur von einer Domain (z.B.: AnmeldeDomain) die UserNamen variabel generieren kann, ist es doch logisch das die UserNamen der anderen Domain zentral abgelegt sein müssen. Wie sollte man das sonst lösen?

Und nur durch eine zentrale "Datenbank" kann er die Usernamen beider Domains verknüpfen. Ob die Batch File nun richtig ist oder nicht spielt doch das erstmal keine Rolle.

Es geht um das Verständnis und ich denke das mein Beitrag weitaus hilfreicher war als deine seltsamen Andeutungen.
60730
60730 24.02.2012 um 22:41:13 Uhr
Goto Top
servus Peacer,

yupp hast ja recht, aber was liesst du denn aus Zeilen wie
Und für LDAP steht mir kein Web Server zur Verfügung
oder
Nun muss per Batch, die vorerst jedem Nutzer zugeschickt und in den Autostart geschoben werden soll, kurzfristig ein zusätzliches Netzlaufwerk verbunden werden.
Mit den DomAdmins der Anmeldedomäne kann ich auch nicht in der Form kommunizieren (vertragliche Regelungen ... naja).
Und ja, ich gebs zu
Ich hoffe, ich mach's verständlich:

Das war es ganz und garnicht, denn wenn er nicht auf die Anmeldedomain kommt, wie kommt der dann an den Client?
Und das ich schon etwas mehr erfahrung hab und dein Beispiel eher nur noch mehr verwirrung bringt (wenn es den laufen würde) das lass mal meine Sorge sein.
Wir sind hier alle nur Gäste face-wink

Gruß
MrTylerDurden
MrTylerDurden 25.02.2012 um 01:32:30 Uhr
Goto Top
Zitat von @60730:
denn wenn er nicht auf die Anmeldedomain kommt, wie kommt der dann an den Client?

Na da. So viel zur Erfahrung.
Was hier, wie TimoBeil versuchst festzustellen, "profilike" ist und was nicht, sollte er sich bei dem Niveau seiner Beiträge vielleicht selber fragen.
Schade, dass man als TE keine Idioten-Blacklist setzen kann.

Zitat von @60730:
Und dann knabbert Kiollege Tyler ja schon seit 3 Tagen an der Zeile
Bzw. ich finde das mit dem "Ich kenne das Problem nicht, aber hab ne Lösung" immer etwas supotimal.
Genug geschmollt? alles wieder gut? Wann können wir mit mehr Info rechnen?
Das war es ganz und garnicht, [...]
Und das ich schon etwas mehr erfahrung hab

Blablabla! Bla bla blabla blablabla!

Was ist das denn für einer... Ist der immer so?

Außerdem scheint bei Herrn Beil Deutsch alle zu sein. "Supoptimal" ... wow.

So, das musste jetzt sein.


Entschuldigung der späten Antwort, ich kam diese Woche leider zu gar nichts.
Nächste Woche bin ich nicht am Ort des Geschehens, kann also erst wieder am 05.03. testen.

Warum ich was in welcher Form unter welchen Umständen mit welchen Mitteln administrativ mache, geht niemanden etwas an. Es hat jedenfalls seine Gründe.

Nein, ich habe keine Liste, anhand derer ich den Pfad mit dem Anmeldenamen für Domäne B vergleichen kann. Und ich erstelle auch keine. Dann könnte ich gleich alle Pfade rausschreiben.
Und wäre dies so, hätte ich es erwähnt.

Ich weiß auch ehrlich gesagt gar nicht, was an der Frage so schwer ist.
Alle Anmeldenamen sind an beiden Domänen für jeden User eindeutig und lassen nicht aufeinander schließen.
Wie schon beschrieben:
Nutzername Domäne A: 11247304
Nutzername Domäne B: maximilianmustermann

Die Domäne B wird lediglich noch für die Zeit eines Fileserver-Rollouts übergangsweise benötigt, in dem immer noch die zu überführenden Fileserver stehen. Aus diesem Grund wurde per keymgr.dll an jedem Client der "alte" Anmeldename (Domäne B) eingerichtet, damit sich Nutzer nicht ständig beim ersten Klick auf ein Netzlaufwerk mit dem "alten" Namen anmelden müssen.

Die Domäne A ist die Anmeldedomäne, in der jeder Client verwaltet wird. Die Administration der Domäne A wurde an Externe outgesourced (was für ein Sch**ß-Wort) . Das geht zwar niemanden etwas an, aber vielleicht begreift dann auch Herr Beil, dass das Verbinden von NLW momentan und kurzfristig nur über eine Batch im verfluchten Autostart machbar ist. IST NÄMLICH BEI OUTSOURCING NICHT MEHR IN DER EIGENEN ADMINISTRATIVEN HAND - Was mir selber sicher auch nicht gefällt.

Alles, was ich wissen wollte, war, ob jemand eine Möglichkeit kennt, den Namen, mit dem ich mit einer anderen Domäne (NLW-Standort) als der Anmeldedomäne verbunden bin, und der per keymgr.dll eingerichtet wurde, in einer Batch setzen kann. Die Gründe können doch mal wirklich völlig egal sein.

Grüße!
Tyler
60730
60730 25.02.2012 um 09:52:01 Uhr
Goto Top
Moin,

nur mal so als ergänzende Klarstellung meinerseits...

Ich war der Annahme, das jemand - der sich Tyler Durden nennt auch den Film gesehen hat, wo dieser Name herkommt und das der dementsprechend auch "einstecken" kann.

Und wenn es rechtliche Gründe blabla blabla gibt (siehe deine Zeilen) dann ist das was du vorhast wirklich von zwei Seiten zu betrachten.

Nachdem du - und glaubs mir oder glaubs mir nicht - auf meine leicht neckischen Gegenfragen mit
Alles, was ich wissen wollte, war, ob jemand eine Möglichkeit kennt, den Namen, mit dem ich mit einer anderen Domäne (NLW-Standort) als der Anmeldedomäne verbunden bin, und der per keymgr.dll eingerichtet wurde, in einer Batch setzen kann. Die Gründe können doch mal wirklich völlig egal sein.

kommst, wird das klarer.
Das und nur das wollte ich doch wissen - hast du eine Ahnung, wie viele hier wissen wollen, wie Sie eine Datei, die täglich exportiert wird umformatieren können, anstatt die Quelle des Exports einmalig umzuändern?

Und wie ich und Peacer nun mehrfach geschrieben haben - wenn du eine Liste hast, aus der erkennbar ist - Name Domain A enstpricht Name Domain B und logischerweise auch dessen Passwort - dann ja.
Wenn du das nicht hast, dann erübrigt sich der ganze Aufwand, denn dann mußt du es händisch via Turnschuh oder Adminshare machen oder es einfach sein lassen - auch das gibt es -vor allem, wenn es übergangsweise ist - da würde ich die Zeit ins Server migrieren reinstecken. (Wobnei ich das eher schon längst gemacht hätte)


PS: Immer dran denken - deine Frage könte evtl. für spätere Besucher interessant werden und wenn man da nicht abwägt, was der bessere Weg für eine Problemstellung ist - macht das mit dem Forum keinen Sinn. Dann könntest du auch PNs an Yusuf schicken.
MrTylerDurden
MrTylerDurden 25.02.2012 um 15:06:57 Uhr
Goto Top
Zitat von @60730:
Ich war der Annahme, das jemand - der sich Tyler Durden nennt auch den Film gesehen hat, wo dieser Name herkommt und das der
dementsprechend auch "einstecken" kann.

Ich weiß zwar nicht, was das verbale "Einstecken" von beleidigenden Äußerungen mit dem revolutionären Grundgedanken von Fincher bzw. Palahniuk zu tun hat, aber sei's drum.

Zitat von @60730:
Nachdem du - und glaubs mir oder glaubs mir nicht - auf meine leicht neckischen Gegenfragen mit [...] kommst, wird das klarer.

Dann zitiere ich mal aus meinem ersten Post:
Zitat von @MrTylerDurden:
Kennt jemand eine Möglichkeit, wie man per Systemvariable (bspw. %username%) oder Scriptariable den Benutzernamen aus einer
anderen verbundenen Domäne angeben kann?
[..]
Nun muss per Batch [...] kurzfristig ein zusätzliches Netzlaufwerk verbunden werden. Der Pfad dieses zusätzlichen Netzlaufwerkes enthält
den Benutzernamen, mit dem der Nutzer per keymgr.dll mit der Netzlaufwerkdomäne verbunden ist.

Wie gesagt, die Anmeldeinformationen sind leider unterschiedlich. Wäre es nicht so, müsste ich abgesehen vom Passwort die
Anmeldung auch nicht mit der keymgr.dll regeln.

Anmeldedomäne:
Benutzername = 12345678
Passwort = PasswortInAnmeldedomäne

Win + R: control keymgr.dll:
Server: *.Netzlaufwerkdomäne
Name: NutzernameInNetzlaufwerkdomäne@Netlaufwerkdomäne
Passwort: PasswortInNetzlaufwerkdomäne

Batch im Autostart:
NET USE x: \\server.Netlaufwerkdomäne\NutzernameInNetzlaufwerkdomäne\freigabeordner
NET USE y: \\server.Netlaufwerkdomäne\blablabla\freigabeordner

Und den NutzernameInNetzlaufwerkdomäne hätte ich gern als Variable für die Batch im Autostart des Nutzers in der Anmeldedomäne,
weil dieser eben im Pfad des Netzlaufwerkes individuell auftaucht.

Möge man mich korrigieren, aber das war eigentlich sehr viel deutlicher.

Zitat von @60730:
wenn du eine Liste hast, aus der erkennbar ist - Name Domain A enstpricht
Name Domain B und logischerweise auch dessen Passwort - dann ja.

Tja, mal davon abgesehen, dass die Existenz derartiger Listen einen enormen Verstoß gegen aktuelle Sicherheitsbestimmungen darstellen würde, übersteigt der Aufwand der Erstellung solcher Relationen den Nutzen bei weitem. Stattdessen alle neun Gebäude abzugehen und an jedem der etwas über 40 Arbeitsplätze pro Gebäude die Batch mit entsprechendem Pfad selbst zu erstellen (oder es bis zur entgültigen Fileserverübernahme auszusitzen) stünde in besserem Kosten/Nutzen-Verhältnis.

Zitat von @60730:
da würde ich die Zeit ins Server migrieren reinstecken. (Wobnei ich das eher schon längst gemacht hätte)

Damit meinst du wohl das Angleichen der Anmeldeinformationen in Domäne B an die der Domäne A.
Genau das war auch meine Überlegung. Nur wollte ich eben einfach mal wissen, ob man wesentlich einfacher, nämlich per uni-Variable, den Nutzernamen aus Domäne B für einen Freigabe-Pfad innerhalb NET USE in die Batch in Domäne A schreiben kann.

Auch wenn ich alle Anmeldeinformationen der knapp 400 Nutzer der Domäne B an die der Domäne A angleiche, bin ich mir nicht sicher, ob sich der Basisordner dadurch automatisch umbennt da in Domäne B logischerweise mit %username% angegeben. Dann werden sehr wahrscheinlich zwei Ordner existieren. Einer mit dem alten Namen und einer mit dem neuen. Nur, dass im Neuen nicht die Daten vom alten abgelegt sind.

Da es offensichtlich keine Möglichkeit gibt, wird wohl eine neue Freigabe von jedem Nutzer manuell als Netzlaufwerk von Domäne A nach Domäne B verbunden werden müssen.

Grüße!
Tyler