davidaff
Goto Top

Vor- und Nachname des Benutzers aus Login-Usernamen ermitteln

Hallo,

ich suche eine Liste für Umgebungsvariablen welche in erster Linie in einem Loginscript genutzt werden können.
Hab jetzt schon ne Weile gegooglet, aber nichts brauchbares gefunden.

Mich interessiert in erster Linie, ob es neben %username% auch noch eine Umgebungsvariable gibt, wo der tatsächliche
Vor und Zuname des angelegten Benutzers im AD verarbeitet werden kann.

Bei Login also schauen ob es Ordner "Bernd Müller" schon gibt, wenn nicht anlegen.
Also nicht den Loginname selbst.

Danke euch für jeden Tip.

Content-Key: 109683

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

Printed on: April 26, 2024 at 02:04 o'clock

Member: bastla
bastla Feb 22, 2009 at 11:48:00 (UTC)
Goto Top
Hallo Davidaff!

Einfach einmal
set
an der Kommandozeile eingeben - dabei wird Dir dann auch %FULLNAME% begegnen ...

Grüße
bastla

[Edit] Der berühmte Satz mit "x": War wohl nix ... face-sad [/Edit]
Member: Davidaff
Davidaff Feb 22, 2009 at 11:56:22 (UTC)
Goto Top
Hallo,

das klingt gut, allerdings kann ich bei mir auf dem XP client mittels Befehl "SET" die Var %FULLNAME% nicht finden.
das is ja das was mich stutzig macht.
Member: Dani
Dani Feb 22, 2009 at 12:34:41 (UTC)
Goto Top
Hi,
die gibt es so auch nicht...für was auch. Die Variable gibt es nur im AD selbst, nicht als Umgebungsvariable.


Grüße,
Dani
Member: bastla
bastla Feb 22, 2009 at 12:47:33 (UTC)
Goto Top
@Dani
die gibt es so auch nicht
Bei mir in einer Kombination Server2000 / Client XP zwar tatsächlich vorhanden, allerdings frage ich mich auch gerade, woher ich die wohl habe ...

Grüße
bastla
Member: Dani
Dani Feb 22, 2009 at 13:07:37 (UTC)
Goto Top
@bastla
Du wirst wohl nachgeholfen haben oder? Wir haben hier Windows Server 2003 Enterprise x64 mit WindowsXP SP3 Clients.


Grüße,
Dani
Member: bastla
bastla Feb 22, 2009 at 13:32:05 (UTC)
Goto Top
@Dani
Du wirst wohl nachgeholfen haben oder?
Gibt wohl keine andere Erklärung, aber ist dann schon eine Weile her (zumindest erinnere ich mich nicht, den Wert unter "HKEY_CURRENT_USER\Environment" hinterlegt zu haben) - na ja, das Alter ...

Grüße
bastla
Mitglied: 42687
42687 Feb 22, 2009 at 15:05:17 (UTC)
Goto Top
Nur mal so, ich dachte es gab mal ein Tool mit Namen ADinfo aber google mal.
Member: bastla
bastla Feb 22, 2009, updated at Oct 18, 2012 at 16:37:47 (UTC)
Goto Top
Hallo davidaff!

Soferne nichts gegen die Verwendung von VBScript spricht, könntest Du es mit dem Ansatz in diesem Beitrag versuchen ...

Grüße
bastla
Member: Davidaff
Davidaff Feb 22, 2009, updated at Oct 18, 2012 at 16:37:47 (UTC)
Goto Top
Zitat von @42687:
Nur mal so, ich dachte es gab mal ein Tool mit Namen ADinfo aber
google mal.

find ich nix brauchbares dazu.

das einzigste brauchbare was ich fand ist dies hier
Loginscript, W2k3 Server Probleme mit displayname givenname usw.

Aber auch eher umständlich und nicht auf die schnelle konfigurier und testbar...
Member: Davidaff
Davidaff Feb 22, 2009 at 15:36:04 (UTC)
Goto Top
Hallo, also über VBS ist auch möglich.

Ziel ist es einfach nur, ob es den Ordner Bernd Müller schon gibt, wenn nicht, danne erstellen.
Danach müssen auf den Ordner aber auch noch Berechtigungen gesetzt werden können mittels calcs.

Problem ist eben auch, das die vorhandene Struktur mit freigegeben Ordnernamen fortgesetzt werden soll,
mir persönlich würde ein Ordner namens %username% ausreichen.face-wink
Member: Davidaff
Davidaff Feb 22, 2009 at 15:55:00 (UTC)
Goto Top
also hab jetzt mal folgendes Probiert, jedoch ohne Erfolg.
Bin da leider nicht ganz so involviert.

login.bat
@echo off
set "GN=\\w2k3-srv\netlogon\folders\getname.vbs"   
echo On Error Resume Next:Set objTrans=CreateObject("NameTranslate"):objTrans.Init 3,"":objTrans.Set 3,WScript.Arguments(0):WScript.Echo GetObject("LDAP://"^&Replace(objTrans.Get(1),"/","\/")).cn>%GN%   
for /f "delims=" %%i in ('cscript //nologo %GN% "%USERDOMAIN%\%USERNAME%"') do set "ADName=%%i"   
del %GN% 
if not exist \\w2k3-srv\VERTEILER\%ADName%\ goto cf_j
:cf_j
md \\w2k3-srv\VERTEILER\%ADName%\
.....

getname.vbs
Const ADS_NAME_INITTYPE_GC = 3
Const ADS_NAME_TYPE_NT4 = 3
Const ADS_NAME_TYPE_DISPLAY = 4

strNetBIOSDomain = "domain.local"  

strNTName = "%USERNAME%"  

Set objTrans = CreateObject("NameTranslate")  

objTrans.Init ADS_NAME_INITTYPE_GC, ""  

objTrans.Set ADS_NAME_TYPE_NT4, strNetBIOSDomain & "\" & strNTName  

strDisplayName = objTrans.Get(ADS_NAME_TYPE_DISPLAY)
Member: bastla
bastla Feb 22, 2009 at 16:04:10 (UTC)
Goto Top
Hallo Davidaff!

Die "getname.vbs" wird eigentlich aus dem Batch (Zeile3) heraus automatisch erstellt ...
Unter der Annahme, dass %ADName% Leerzeichen enthält (und dass die Zeile 8 nur benötigt wird, wenn es den Ordner noch nicht gibt), sollten die Zeile 6 bis 8 besser so aussehen:
set "Ordner=\\w2k3-srv\VERTEILER\%ADName%"
if not exist "%Ordner%" md "%Ordner%"
Grüße
bastla
Member: Davidaff
Davidaff Feb 22, 2009 at 17:20:07 (UTC)
Goto Top
Hallo

Danke dir, jetzt wird mir erstmal korrekt wieder der Ordner erstellt mit dem username anhand .cn.
Wenn du mir noch die Syntax verraten könntest für Vor und Zuname?

Echo GetObject("LDAP://"^&Replace(objTrans.Get(1),"/","\/")).givenName' '.sn>%GN%  ?  
oder
Echo GetObject("LDAP://"^&Replace(objTrans.Get(1),"/","\/")).givenName>%GN%  ?  
oder
Echo GetObject("LDAP://"^&Replace(objTrans.Get(1),"/","\/")).givenName' '.sn GetObject("LDAP://"^&Replace(objTrans.Get(1),"/","\/")).sn>%GN% ?  
Member: bastla
bastla Feb 22, 2009 at 17:24:08 (UTC)
Goto Top
Hallo Davidaff!

Vorname:
echo On Error Resume Next:Set objTrans=CreateObject("NameTranslate"):objTrans.Init 3,"":objTrans.Set 3,WScript.Arguments(0):WScript.Echo GetObject("LDAP://"^&objTrans.Get(1)).givenName>%GN%

Zuname:
echo On Error Resume Next:Set objTrans=CreateObject("NameTranslate"):objTrans.Init 3,"":objTrans.Set 3,WScript.Arguments(0):WScript.Echo GetObject("LDAP://"^&objTrans.Get(1)).sn>%GN%
Grüße
bastla

[Edit] Unnötiges "Replace" entfernt. [/Edit]
Member: Biber
Biber Feb 23, 2009 at 06:02:06 (UTC)
Goto Top
Moin Davidaff,

<OT>
Da eine sauber hergeleitete und erläuterte Musterlösung zu diesem Thema durchaus nützlich für viele Admins und Adminen sein dürfte,
Ändere bitte den Beitragstitel
"Suche Liste Umgebungsvariablen für Batchauftrag"
wegen der neu gewonnenen Kenntnisse in diesem Thread auf ...
"Vor- und Nachname des Benutzers aus Login-Usernamen ermitteln"
[oder so ähnlich.... nur sinngemäßer Vorschlag]

Nur damit AnwenderInnen mit der gleichen Problemstellung es auch über die Forumssuchfunktion finden bzw. erkennen können.
</OT>

Danke
Biber

[Edit 26.2.2009] Danke @Davidaff für das schnelle editieren des Beitragtitels. [/Edit]