Homeverzeichnis per script
Hi ho,
meine Batch Zeiten sind schon länger her … Mhm …
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 !
meine Batch Zeiten sind schon länger her … Mhm …
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 !
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 384974
Url: https://administrator.de/forum/homeverzeichnis-per-script-384974.html
Ausgedruckt am: 25.12.2024 um 16:12 Uhr
13 Kommentare
Neuester Kommentar
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
Gruß Werner
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
Zitat von @erikro:
Moin,
kein Problem mit der Powershell:
Hoffentlich sind bei allen Usern die Nachnamen eingepflegt im AD. ;)
Get-AdUser, joa, und auch jeder User hat hoffentlich RSAT installiert :-P.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. ;)
Für sowas gibts das ADSISearcher Object dann braucht es auch kein RSAT!
Moin,
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
Zitat von @137084:
Get-AdUser, joa, und auch jeder User hat hoffentlich RSAT installiert :-P.
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
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 .Dafür muss man natürlich sorgen, wenn man mit der PS skripten will, dass die Module auch auf dem Zielrechner vorhanden sind.
(new-object adsisearcher("LDAP://$(([adsi]'LDAP://rootDSE').defaultNamingContext)","(&(objectCategory=User)(SamAccountName=$env:Username))","sn",[System.DirectoryServices.SearchScope]::Subtree)).FindOne() | %{$_.Properties['sn']}
edit Attribut korrigiert
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.Mit dem Basisordner kann ich das doch auch lösen oder?
Es sind "nur" knapp" 40 Benutzer, was den Aufwand im Rahmen hält …
Moin,
und wozu soll das gut sein?
Gruß
und wozu soll das gut sein?
Gruß
Moin,
Warum einfach, wenn es auch kompliziert geht? Hier also mit dem ADSISearcher:
Liebe Grüße
Erik
Zitat von @137084:
(new-object adsisearcher("LDAP:$(([adsi]'LDAP:rootDSE').defaultNamingContext)","(&(objectCategory=User)(SamAccountName=$env:Username))","Surname",[System.DirectoryServices.SearchScope]::Subtree)).FindOne() | %{$_.Properties['Surname']}
(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? 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
Weil so nur die benötigten Daten (sn) über die Leitung gehen keine Zertifikatsdaten oder sonstige nicht benötigte Attribute des Users.