ERLEDIGT
NEIN
ANTWORTEN
4
ZUGRIFFE
2289
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
  1. #1
    MrTylerDurden ist offline Grünschnabel
    Registriert seit
    Feb 2012
    Beiträge
    3
    Hallo!

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

    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)
    - Mappen der Netzlaufwerke für alle Clients per eigenem Programm
    - Anmeldung an Netzlaufwerkdomäne geschieht per keymgr.dll

    Nun muss per Batch, die 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.

    Ich kann nicht für jeden Client die individuelle Batch mit seinem Benutzernamen für die Netzlaufwerkdomäne im Pfad erstellen, zumal ich ihn nicht immer weiß. Deshalb der Weg über eine Variable, wie %username%. Ich brauche aber hier aber wie gesagt den Benutzernamen in der Netzlaufwerkdomäne, nicht in der Anmeldedomäne.

    MfG
    Geändert von MrTylerDurden (14.02.12 um 17:45 Uhr)
     

  2. #2
    Dimenson ist offline Mitglied Brokat
    Registriert seit
    Jul 2004
    Beiträge
    439
    Hallo,

    ja wenn die Usernames ja gleich aussehen, kannst du eigentlich die Variable %username% nutzen.
    Wenn diese aber dennoch unterschiedlich sind, kommst du um eine LDAP Abfrage nicht drum weg.
    Hier mal ein Beispiel :
    http://www.faq-o-matic.net/2008/07/0...aten-ausgeben/

    Leider kenne ich mich da zu wenig aus wie es aussieht mit einer Abfrage ausserhalb der eigenen Domäne.
    Ich kann mir vorstellen das du die Domänen untereinander Vertrauenwürdig machen musst.

    Wie gesagt nur Vermutungen vllt hilft dir ja weiter.

    Gruß Dimenson
     

  3. #3
    MrTylerDurden ist offline Grünschnabel
    Registriert seit
    Feb 2012
    Beiträge
    3
    Zitat Zitat von Dimenson Beitrag anzeigen
    ja wenn die Usernames ja gleich aussehen, kannst du eigentlich die Variable %username% nutzen.
    Danke für die Antwort. Die Nutzernamen 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: Servername.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. Die könnte ich dann verschicken und jeder legt sie in seinen Autostart.

    Die bidirektionale transitive Vertrauensstellung ist aber 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.

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

  4. #4
    Dimenson ist offline Mitglied Brokat
    Registriert seit
    Jul 2004
    Beiträge
    439
    Hallo,

    authentifizierst du dich mit den dementsprechenden benutzer schon an der Netzwerkdomäne ?

    Dann kann evtl wmi weiterhelfen:

    strComputer = "."
    Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\CIMV2")
    Set colItems = objWMIService.ExecQuery( _
    "SELECT * FROM Win32_LoggedOnUser",,48)
    For Each objItem in colItems
    Wscript.Echo "-----------------------------------"
    Wscript.Echo "Win32_LoggedOnUser instance"
    Wscript.Echo "-----------------------------------"
    Wscript.Echo "Antecedent: " & objItem.Antecedent
    Wscript.Echo "Dependent: " & objItem.Dependent
    Next

    Speicher den Code als VBS Datei. und führe sie mit Win+R cscript deine.vbs aus.
    Vielleicht wird da der dementsprechende benötigte Name angezeigt.
     

  5. #5
    MrTylerDurden ist offline Grünschnabel
    Registriert seit
    Feb 2012
    Beiträge
    3
    Zitat Zitat von Dimenson Beitrag anzeigen
    authentifizierst du dich mit den dementsprechenden benutzer schon an der Netzwerkdomäne ?
    Hallo!

    Ja, genau das. Durch die NET USE werden die Netzlaufwerke beim WinStart mit den Daten aus der keymgr.dll sofort verbunden. Das musste anfangs bei jedem Nutzer (mehrere Hundert) manuell eingerichtet werden. Das drückt zwar den Traffic morgens kurzzeitig enorm hoch, muss aber sein. Da sonst Applikationsverknüpfungen, die auf einen Netzlaufwerkpfad zeigen, nicht funktionieren. Das liegt daran, dass Netzlaufwerke zwar gemappt sind, aber nicht verbunden. Der Nutzer müsste kurz im Explorer ein Netzlaufwerk öffnen. Um das zu umgehen, liegt für jeden Benutzer die Batch im Autostart (Windows Bug - Ticket ist schon erstellt - nicht nur von uns).

    OK, danke. Ich probier's mal aus.

    Danke!
     

Thema nicht erledigt

Ähnliche Themen

  1. Globale Variable in anderer Datei auslagern
    Von Antispy im Forum VisualStudio & MFC
    Antworten: 2
    Letzter Beitrag: 01.01.09, 16:08
  2. VAriable von anderer EXE abfragen
    Von sand13r im Forum C/C++
    Antworten: 6
    Letzter Beitrag: 12.08.08, 16:04
  3. Zugriff auf Variable in anderer Methode?
    Von SuReBuRn im Forum PHP
    Antworten: 1
    Letzter Beitrag: 30.10.07, 07:08
  4. Antworten: 10
    Letzter Beitrag: 21.02.05, 20:40
  5. Variable aus anderer Ebene holen...
    Von Kebb im Forum Flash Plattform
    Antworten: 4
    Letzter Beitrag: 05.10.04, 20:07

Stichworte