oselbeck
Goto Top

Homeverzeichnis per script

Hi ho,
meine Batch Zeiten sind schon länger her … Mhm … face-wink
Also,
ich habe auf einen Server User Verzeichnisse, die nach dem Nachnamen benannt sind. Aber die Benutzer melden sich mit Ihren Initialen an.

Jetzt habe ich den Vorschlag gemacht, da ich auf U das User Verzeichnis mappe …

Mein Problem, %USERNAME% zieht natürlich nicht, das die Initialen ja nicht als Verzeichnis vorhanden sind …

Wie heisst die Variable des Nachnamens … kann irgendwie nüscht finden …

Danke !

Content-ID: 384974

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

Ausgedruckt am: 24.11.2024 um 15:11 Uhr

137084
137084 30.08.2018 aktualisiert um 13:03:19 Uhr
Goto Top
Würde die Verzeichnisse einfach alle per Schleife zum Usernamen umbenennen, denn wat machste wenn zwei "Meier" ins Unternehmen kommen?! Ist also nicht ganz zu Ende gedacht dein Konzept.

Das gewünschte gibt's nicht als Umgebungsvariable, könntest du höchstens per GPP als neue Umgebungsvariable mappen wenn man wollte.

Den Nachnamen des aktuellen Users bekommst du aus dem AD, hier z.B. via VBS
Set objSysInfo = CreateObject("ADSystemInfo")   
Set objUser = GetObject("LDAP://" & objSysInfo.UserName)   
msgbox objUser.Get("sn")  

Gruß Werner
SeaStorm
SeaStorm 30.08.2018 um 11:28:43 Uhr
Goto Top
Alternativ könnte man die Verzeichnisse auch einfach zum Usernamen umbenennen. Dann kann man ohne fieses gescripte sowas machen.
OSelbeck
OSelbeck 30.08.2018 um 11:38:44 Uhr
Goto Top
Ich habe das so übernommen …
Anmelden per Initialen find ich auch sehr berauschend … das sind schon welche mit 3 Buchstaben unterwegs …

face-wink
erikro
erikro 30.08.2018 um 11:39:03 Uhr
Goto Top
Moin,

kein Problem mit der Powershell:

New-PSDrive -name U -root \\Server\$($(get-aduser -identity $env:username).surname) -psprovider FileSystem

Hoffentlich sind bei allen Usern die Nachnamen eingepflegt im AD. ;)

hth

Erik
137084
137084 30.08.2018 aktualisiert um 11:43:20 Uhr
Goto Top
Zitat von @erikro:

Moin,

kein Problem mit der Powershell:

New-PSDrive -name U -root \\Server\$($(get-aduser -identity $env:username).surname) -psprovider FileSystem

Hoffentlich sind bei allen Usern die Nachnamen eingepflegt im AD. ;)
Get-AdUser, joa, und auch jeder User hat hoffentlich RSAT installiert :-P.

Für sowas gibts das ADSISearcher Object dann braucht es auch kein RSAT!
erikro
erikro 30.08.2018 um 11:43:32 Uhr
Goto Top
Moin,

Zitat von @137084:
Get-AdUser, joa, und auch jeder User hat hoffentlich RSAT installiert :-P.

Dafür muss man natürlich sorgen, wenn man mit der PS skripten will, dass die Module auch auf dem Zielrechner vorhanden sind. Die gesamten RSAT müssen ja nicht sein. Das AD-Modul der PS reicht. ;)

Liebe Grüße

Erik
OSelbeck
OSelbeck 30.08.2018 um 11:43:40 Uhr
Goto Top
Dafür habe ich gesorgt face-wink
137084
137084 30.08.2018 aktualisiert um 13:04:49 Uhr
Goto Top
Zitat von @erikro:
Dafür muss man natürlich sorgen, wenn man mit der PS skripten will, dass die Module auch auf dem Zielrechner vorhanden sind.
Quark mit Gurken, die braucht es nicht, das .NET hat alles was du brauchst face-smile.
(new-object adsisearcher("LDAP://$(([adsi]'LDAP://rootDSE').defaultNamingContext)","(&(objectCategory=User)(SamAccountName=$env:Username))","sn",[System.DirectoryServices.SearchScope]::Subtree)).FindOne() | %{$_.Properties['sn']}

edit Attribut korrigiert
OSelbeck
OSelbeck 30.08.2018 um 11:54:04 Uhr
Goto Top
Mit dem Basisordner kann ich das doch auch lösen oder?
Es sind "nur" knapp" 40 Benutzer, was den Aufwand im Rahmen hält …
137084
137084 30.08.2018 aktualisiert um 11:56:34 Uhr
Goto Top
Zitat von @OSelbeck:

Mit dem Basisordner kann ich das doch auch lösen oder?
Es sind "nur" knapp" 40 Benutzer, was den Aufwand im Rahmen hält …
Du meinst das Umbenennen? Klar würde ich auf jeden Fall machen, Usernamen sind eindeutig, Nachnamen nicht.
Kraemer
Kraemer 30.08.2018 um 12:10:26 Uhr
Goto Top
Moin,
Zitat von @OSelbeck:
Jetzt habe ich den Vorschlag gemacht, da ich auf U das User Verzeichnis mappe …
und wozu soll das gut sein?

Gruß
erikro
erikro 30.08.2018 um 12:34:38 Uhr
Goto Top
Moin,


Zitat von @137084:
(new-object adsisearcher("LDAP:$(([adsi]'LDAP:rootDSE').defaultNamingContext)","(&(objectCategory=User)(SamAccountName=$env:Username))","Surname",[System.DirectoryServices.SearchScope]::Subtree)).FindOne() | %{$_.Properties['Surname']}


Warum einfach, wenn es auch kompliziert geht? face-wink Hier also mit dem ADSISearcher:

PS C:\> new-psdrive -name U -root \\Server\$(([adsisearcher]"((samaccountname=$env:username))").findone().properti  
es.sn) -psprovider FileSystem

Liebe Grüße

Erik
137084
137084 30.08.2018 aktualisiert um 13:03:09 Uhr
Goto Top
Zitat von @erikro:
Warum einfach, wenn es auch kompliziert geht? face-wink Hier also mit dem ADSISearcher:
Weil so nur die benötigten Daten (sn) über die Leitung gehen keine Zertifikatsdaten oder sonstige nicht benötigte Attribute des Users.