Benutzer mit den meisten Antworten
Servergespeicherten Profilpfad über PowerShell rausfinden (Win7)

Frage
-
Hallo Forum,
ich möchte ein Script für win7 Clients erstellen, das beim Login des Benutzers den Profilpfad des servergespeicherten Profils (der ist im AD eingetragen) herausfindet und anhand des Pfades dann ein Netzlaufwerk einbindet.
Die Profilpfade sind wie folgt aufgebaut: \\Domäne\OU\profiles\Username .
Nur leider finde ich keine Möglichkeit, wie ich den Pfad des servergespeicherten Profils per PowerShell-Befehl (und Windows7 Boardmitteln) herausfinde... Hat von Euch jemand eine Idee, wie ich das Problem lösen kann? Das weitere Vorgehen bekomme ich dann hin, nur dieser Ansatz fehlt mir. ;-)
Danke im Voraus für Eure Hilfe.
Viele Grüße
Darkholylein
Antworten
-
Es gibt diverse Möglichkeiten den Pfad auszulesen. Wenn der RoamingProfile-Pfad im AD unter Benutzerprofil/Profilpfad zugewiesen ist, dann z.b. so:
$net = net user $Env:USERNAME foreach ($line in $net) { if ($line -match "Benutzerprofil" ) { $line.Substring($line.IndexOf("\")) } }
Du kannst den Pfad auch direkt aus dem AD-Benutzerobjekt auslesen:$username = $env:USERNAME Add-Type -AssemblyName System.DirectoryServices.AccountManagement $ct = [System.DirectoryServices.AccountManagement.ContextType]::Domain $user = [System.DirectoryServices.AccountManagement.UserPrincipal]::FindByIdentity($ct,$username) $Profilpfad = $user.GetUnderlyingObject().properties.profilePath $Profilpfad
Teste was in deiner Umgebung schneller ist, da man gerade im Logonscript versuchen sollte jede unnötige Verzögerung zu vermeiden.Außerdem könnte man den RoamingProfile-Pfad auch aus dem Powershell-Profilpfad ($profile) extrahieren, falls das Powershell-Profil sich nicht in einem umgeleiteten Ordner befindet. Das wäre die einfachste, aber auch unsicherste Methode.
Warum sind die Profile eigentlich nach OU's sortiert? Ohne diese Unterteilung könntest du dir den Profilpfad jederzeit vom Usernamen ableiten.
Grüße, Denniver
http://bytecookie.wordpress.com/
- Als Antwort vorgeschlagen Denniver ReiningMVP, Moderator Freitag, 15. Juli 2011 16:20
- Als Antwort markiert Raul TalmaciuMicrosoft contingent staff Mittwoch, 20. Juli 2011 09:15
Alle Antworten
-
Es gibt diverse Möglichkeiten den Pfad auszulesen. Wenn der RoamingProfile-Pfad im AD unter Benutzerprofil/Profilpfad zugewiesen ist, dann z.b. so:
$net = net user $Env:USERNAME foreach ($line in $net) { if ($line -match "Benutzerprofil" ) { $line.Substring($line.IndexOf("\")) } }
Du kannst den Pfad auch direkt aus dem AD-Benutzerobjekt auslesen:$username = $env:USERNAME Add-Type -AssemblyName System.DirectoryServices.AccountManagement $ct = [System.DirectoryServices.AccountManagement.ContextType]::Domain $user = [System.DirectoryServices.AccountManagement.UserPrincipal]::FindByIdentity($ct,$username) $Profilpfad = $user.GetUnderlyingObject().properties.profilePath $Profilpfad
Teste was in deiner Umgebung schneller ist, da man gerade im Logonscript versuchen sollte jede unnötige Verzögerung zu vermeiden.Außerdem könnte man den RoamingProfile-Pfad auch aus dem Powershell-Profilpfad ($profile) extrahieren, falls das Powershell-Profil sich nicht in einem umgeleiteten Ordner befindet. Das wäre die einfachste, aber auch unsicherste Methode.
Warum sind die Profile eigentlich nach OU's sortiert? Ohne diese Unterteilung könntest du dir den Profilpfad jederzeit vom Usernamen ableiten.
Grüße, Denniver
http://bytecookie.wordpress.com/
- Als Antwort vorgeschlagen Denniver ReiningMVP, Moderator Freitag, 15. Juli 2011 16:20
- Als Antwort markiert Raul TalmaciuMicrosoft contingent staff Mittwoch, 20. Juli 2011 09:15
-
Hallo Denniver,
danke für deine Hilfe, ich werde deine Möglichkeiten mal Ausprobieren...
Die Profile sind nach OU sortiert, da wir ca. 5000 servergespeicherte Profile haben, und die natürlich nicht alle in einem Ordner liegen sollten ;-)
Schöne Grüße
Darkholylein
-
>da wir ca. 5000 servergespeicherte Profile haben, und die natürlich nicht alle in einem Ordner liegen sollten ;-)
Warum nicht? Ich habe schon Profilpfade mit über 20000 Profilen problemlos verwaltet. Den übergeordneten Profilpfad muß ja niemand browsen. Es gibt meiner Ansicht nach nichts was dagegen spricht, aber einiges was dafür spricht: kein Ändern des Profilpfades im AD und problematisches Verschieben von Profilen falls User die Abteilung oder den Standort (und damit die OU) wechseln und vor allem die jederzeit einfache Ableitbarkeit des Profilpfades.
Grüße, Denniver
Blog: http://bytecookie.wordpress.com
Hilf mit und markiere hilfreiche Beiträge als "Hilfreich" und Beiträge die deine Frage ganz oder teilweise beantwortet haben als "Antwort".