peacer
Goto Top

Batch zum auslesen des givenName anhand des momentan angemeldeten Benutzers

Hallo zusammen,

ich brauche - wie oben schon beschrieben - ein Script/Batch womit sich der givenName des current users auslesen lässt. Diese Information soll dann wiederum in eine txt geschrieben werden.

Ich habe hier schon sehr gute anleitungen zum auslesen z.B. für den Ort gefunden allerdings schaffe ich es einfach nicht dieses Script anzupassen.

Hier der Code zum auslesen des Ortes (welcher auch super funktioniert):

@echo off & setlocal
set "G=%temp%\GetL.vbs"
wait
"%G%" echo WScript.Echo GetObject("LDAP:" ^& CreateObject("ADSystemInfo").UserName).l
for /f "delims=" %%i in ('cscriptnologo "%G%"') do set "Ort=%%i"
echo %Ort% >current_username.txt

Kann mir den jemand anpassen?

Vielen Dank schonmal
Peacer

Content-Key: 158122

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

Ausgedruckt am: 28.03.2024 um 15:03 Uhr

Mitglied: bastla
bastla 06.01.2011 um 16:44:37 Uhr
Goto Top
Hallo Peacer!

Versuch es damit:
@echo off & setlocal
set "G=%temp%\GetVal.vbs"  
>"%G%" echo WScript.Echo GetObject("LDAP://" ^& CreateObject("ADSystemInfo").UserName).givenName  
for /f "delims=" %%i in ('cscript //nologo "%G%"') do set "Value=%%i"  
echo %Value%
- und beim nächsten Mal bitte auch mit ""-Formatierung ...

Grüße
bastla
Mitglied: Peacer
Peacer 10.01.2011 um 11:22:17 Uhr
Goto Top
Bastla, du bist echt super!

Ich muss mich echt in vbs noch üben...

Danke dir vielmals
LG Peacer
Mitglied: bastla
bastla 10.01.2011 um 14:40:31 Uhr
Goto Top
Hallo Peacer!
Bastla, du bist echt super!
Aber nein - es genügt doch meist schon, zu wissen, wo man/frau Passendes findet face-wink - zB
http://gallery.technet.microsoft.com/scriptcenter/de-de
http://www.microsoft.com/downloads/en/details.aspx?FamilyID=b4cb2678-da ...
http://www.rlmueller.net/WinNT_LDAP.htm

Grüße
bastla
Mitglied: Vitali
Vitali 25.01.2012 um 12:18:51 Uhr
Goto Top
Hallo zusammen,
ich habe ähnliches Problem. Ich muss bei der Benutzeranmeldung einen Attribut „mail“ aus der Active Directory auslesen und in eine Variable setzen.
Variable setzen kann ich manuell mit der Kommando.

set mail =emailadresse.

Mit der Powershell oder LDAP-Abfrage kann ich die Atributte auslesen, z.B

Get-ADObject -filter mail -like "%username%" -and ObjectClass -eq "user"

Oder

<LDAPQUERY>(&(objectCategory=user)(objectClass=user)(userPrincipalName=*)(mail=*))</LDAPQUERY>

Voraussetzung hierfür sind die aber AD Powershel Module oder LDAP Browser.
Wie kann ich dies automatisieren, dass ich kein zusätzliches Tool auf den Clients installieren brauche? Z. B Anmeldescript oder gibt es vielleicht andere Möglichkeit?
Mitglied: bastla
bastla 25.01.2012 um 14:47:53 Uhr
Goto Top
Hallo Vitali und willkommen im Forum!

Hast Du schon versucht, in meinem Batch-Ansatz von oben "givenName" durch "mail" zu ersetzen?

Grüße
bastla
Mitglied: Vitali
Vitali 25.01.2012 um 16:33:56 Uhr
Goto Top
Hallo bastla,

ich habe "givenName" durch "mail" ersetzt.

Leider passiert gar nichts. Ich vermutte dass ich da was falsch mache.

Wenn ich die komplette Zeile in das Komandopromt eingebe und eintippe, bleibt es hängen.
Mitglied: bastla
bastla 25.01.2012 um 17:19:29 Uhr
Goto Top
Hallo Vitali!

Weshalb "Zeile"? Du musst schon den ganzen Batch verwenden ...

Grüße
bastla
Mitglied: Vitali
Vitali 26.01.2012 um 17:22:45 Uhr
Goto Top
Hallo bastla,

es hat funktioniert.

@echo off
set "G=%temp%\GetVal.vbs"
"%G%" echo WScript.Echo GetObject("LDAP:" ^& CreateObject("ADSystemInfo").UserName).mail
for /f "delims=" %%i in ('cscriptnologo "%G%"') do set mail=%%i
del %G%

Besten Dank!!!!
Mitglied: MrTylerDurden
MrTylerDurden 19.02.2012 um 16:30:31 Uhr
Goto Top
Na... da klinke ich mich mal ein! Über den Gockel darauf gestoßen ... face-smile

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. 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).
Mitglied: bastla
bastla 19.02.2012 um 18:37:43 Uhr
Goto Top
Hallo MrTylerDurden und willkommen im Forum (ja, wir finden Begrüßungen hier nicht überflüssig)!

Als Anhängsel an diesen Beitrag findet Deine Fragestellung vermutlich etwas wenig Beachtung - eine eigene Frage wäre wohl sinnvoller ...

... nicht zuletzt auch deshalb, weil zumindest ich derzeit keine Idee habe, wie sich Dein Vorhaben realisieren ließe.

Grüße
bastla
Mitglied: MrTylerDurden
MrTylerDurden 20.02.2012 um 15:14:43 Uhr
Goto Top
Zitat von @bastla:
Hallo MrTylerDurden und willkommen im Forum (ja, wir finden Begrüßungen hier nicht überflüssig)!

Danke!

Oh, OK, verzeihung ... die Begrüßung vergessen ...

HALLO, SERVUS UND GUTEN TAG !

face-smile

Dann erstelle ich mal ein eigenes Thema:
Batch-Variable aus anderer Domäne oder keymgr.dll