Windows Benutzervariablen
like %username%
welche gibt es?
Kann mir jemand sagen, welche Windows Umgebungsvariablen es im Rahmen der Userverwaltung gibt?
Es geht darum, dass ich den Nachnamen für das Heimatverzeichnis des Users haben möchte, der Benutzername jedoch nen anderer ist.
Und dies bei jedem User händisch zu ändern ist dann doch irgendwie langweilig...
Vielen Dank schonmal,
Jens
welche gibt es?
Kann mir jemand sagen, welche Windows Umgebungsvariablen es im Rahmen der Userverwaltung gibt?
Es geht darum, dass ich den Nachnamen für das Heimatverzeichnis des Users haben möchte, der Benutzername jedoch nen anderer ist.
Und dies bei jedem User händisch zu ändern ist dann doch irgendwie langweilig...
Vielen Dank schonmal,
Jens
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 28224
Url: https://administrator.de/contentid/28224
Ausgedruckt am: 22.11.2024 um 22:11 Uhr
6 Kommentare
Neuester Kommentar
Hi,
Du kannst mal in dieses PDF schauen:
http://www.addison-wesley.de/media_remote/katalog/bsp/3827322774bsp.pdf
Auf den Seiten 14-16 findest Du eine Liste der Umgebungsvariablen.
Alternativ reicht eventuell schon ein Aufruf von "set" auf der Kommandozeile...
Gruß
cykes
Du kannst mal in dieses PDF schauen:
http://www.addison-wesley.de/media_remote/katalog/bsp/3827322774bsp.pdf
Auf den Seiten 14-16 findest Du eine Liste der Umgebungsvariablen.
Alternativ reicht eventuell schon ein Aufruf von "set" auf der Kommandozeile...
Gruß
cykes
Du kannst das eventeull, wenn Du ein bsichen Programmieren kannst, mit einer LDAP Anfrage
ans Active Directory lösen, geht z.B. mit WSH oder halt mit einer richtigen Programmiersprache.
Ich bin allerdings kein Entwickler, da erstellst Du, wenn Du da fragen hast nochmal einen
Beitrag im Entwickler Teil...
Gruß
cykes
ans Active Directory lösen, geht z.B. mit WSH oder halt mit einer richtigen Programmiersprache.
Ich bin allerdings kein Entwickler, da erstellst Du, wenn Du da fragen hast nochmal einen
Beitrag im Entwickler Teil...
Gruß
cykes
Hi,
legt Dir folgendes Skript an:
snippet +++++++++++++
UserCN= Replace(WScript.StdIn.ReadLine,"""","")
path = "LDAP:" & UserCN
On Error Resume Next
Set objkonto = GetObject(path)
If Err.Number <>0 Then
WScript.Echo UserCN & " wurde nicht gefunden."
WScript.Quit
End If
On Error Goto 0
LastN = objkonto.Lastname
UserHome = objkonto.HomeDirectory
WScript.Echo "Nachname= " & LastN
WScript.Echo "Altes Userverzeichnis= " &UserHome
objkonto.HomeDirectory = "\\Filer\User$\" & LastN
objkonto.SetInfo
WScript.Echo "Neuer HomePath: " & objkonto.HomeDirectory
snippet +++++++++++++++++++++++++++
Mit \\Filer\User$\ meine ich den Pfad zu dem Server wo die Userhomes alle liegen sollen.
Ausführen:
dsquery user -samid [UserID] | cscript setuserhome.VBS
Das Skript hat den Vorteil, das die User igendwo im AD liegen können.
mit dem "dsquery ..." übergebe ich dem vbs den kompletten CN des Users.
Das VBS liest dann den Nachnamen aus und setzt das neue UserHome.
Das ganze läßt sich natürlich schön in eine Schleife umwandeln:
for /f "usebackq tokens=*" %i in ('dsquery user -limit 1000`) do @echo %i | cscript nologo setuserhome.VBS
Setzt das Userverzeichnis für die ersten 1000 User neu !!!! Aber VORSICHT !!!
Falls was schießläuft: Ersetze in dem vbs das "& LastN" einfach durch
"& Split(objkonto.Name,"=",1,1)"
und lass das Skript noch mal laufen. dann haben die User wieder ihr altes HomeDir
Grüße
Dieter
legt Dir folgendes Skript an:
snippet +++++++++++++
UserCN= Replace(WScript.StdIn.ReadLine,"""","")
path = "LDAP:" & UserCN
On Error Resume Next
Set objkonto = GetObject(path)
If Err.Number <>0 Then
WScript.Echo UserCN & " wurde nicht gefunden."
WScript.Quit
End If
On Error Goto 0
LastN = objkonto.Lastname
UserHome = objkonto.HomeDirectory
WScript.Echo "Nachname= " & LastN
WScript.Echo "Altes Userverzeichnis= " &UserHome
objkonto.HomeDirectory = "\\Filer\User$\" & LastN
objkonto.SetInfo
WScript.Echo "Neuer HomePath: " & objkonto.HomeDirectory
snippet +++++++++++++++++++++++++++
Mit \\Filer\User$\ meine ich den Pfad zu dem Server wo die Userhomes alle liegen sollen.
Ausführen:
dsquery user -samid [UserID] | cscript setuserhome.VBS
Das Skript hat den Vorteil, das die User igendwo im AD liegen können.
mit dem "dsquery ..." übergebe ich dem vbs den kompletten CN des Users.
Das VBS liest dann den Nachnamen aus und setzt das neue UserHome.
Das ganze läßt sich natürlich schön in eine Schleife umwandeln:
for /f "usebackq tokens=*" %i in ('dsquery user -limit 1000`) do @echo %i | cscript nologo setuserhome.VBS
Setzt das Userverzeichnis für die ersten 1000 User neu !!!! Aber VORSICHT !!!
Falls was schießläuft: Ersetze in dem vbs das "& LastN" einfach durch
"& Split(objkonto.Name,"=",1,1)"
und lass das Skript noch mal laufen. dann haben die User wieder ihr altes HomeDir
Grüße
Dieter