Zum Inhalt springen

Homeverzeichnis mit PowerShell


Empfohlene Beiträge

Geschrieben

Hallo zusammen, 

ich komme mit meinem Powershell Skript nicht mehr weiter. Ich bin dabei ein Skript zu erstellen, womit ein AD Benutzer angelegt wird, soweit so gut. Das ganze klappt auch bisher, wie ich mir das vorgestellt habe. 

Das Problem ist das anlegen des Homeverzeichnisses mit Powershell. Wenn man einen Benutzer über die MMC erstellt wird ja standarmäßig der Ordner in dem angegebenen Verzeichnis erstellt und der User bekommt ein Vollzugriff drauf. Mit Powershell ist das leider nicht genau so. Hierbei wird nur der Pfad beim Benutzer eingetragen, dabei wird kein Ordner automatisch erstellt.

 

Bei meinem Skript geht es im Prinzip darum, dass vorhandene User mit einem anderen Namen neu angelegt werden. Ich habe auch versucht das vorhandene Homeverzeichnis umzubenennen und dem neuen User die Rechte auf den Ordner zu geben, jedoch funktionieren die Befehle nicht so wie ich es mir gedacht habe. 

Hattet ihr bereits so ein Problem gehabt und eien Lösung dafür, wie ich das am leichtesten umsetzen kann?

Danke im Voraus

Geschrieben

Dann würde ich vermuten, dass du die falschen Befehle verwendest, weil das was du vorhast funktioniert auf jeden Fall mit PS.

Kannst du dein Script mal posten um zu sehen, wie du vorgehst?

Geschrieben

Um den Pfad zu setzen und den Laufwerkbuchstaben habe ich folgenden Befehl benutzt:

Set-ADUser -Identity ... -HomeDrive "U" -HomeDirectory "..."

Durch diesen Befehl bekommt der User den Pfad zugewiesen, jedoch wird kein Ordner erstellt.

 

Ich habe danach versucht den vorhanden Ordner mit folgenden Befehlen umzubenennen und den neuen Benutzer rechte zu geben:

if (Test-Path -Path $U_Drive_path_old -Credential $cred){
            #Löschung der Zugriffsrechten des alten Benutzers
            $aclold = Invoke-Command -Session $sessionAD -ScriptBlock {Get-Acl -Path $($Using:U_Drive_path_old) }
            Invoke-Command -Session $sessionAD -ScriptBlock {$($Using:aclold.Access) | Where-Object {$_.IdentityReference -eq "...\$($Using:oldinformation.SAMAccountname)"} | ForEach-Object {$($Using:aclold).RemoveAccessRule($_)}}
            Invoke-Command -Session $sessionAD -ScriptBlock {Set-Acl -Path $($Using:U_Drive_path_old) -AclObject $($Using:aclold)}
            
            Rename-Item -Path $U_Drive_path_old -NewName $NewUsernameTextBox.Text -Credential $cred
            $aclNew = Invoke-Command -Session $sessionAD -ScriptBlock {Get-Acl -Path $($Using:U_Drive_path_new)}
            $permission = "$($NewUsernameTextBox.Text)", "FullControl", "ContainerInherit,ObjectInherit", "None", "Allow"
            $accessRule = New-Object System.Security.AccessControl.FileSystemAccessRule $permission
            $aclNew = Invoke-Command -Session $sessionAD -ScriptBlock {$($Using:aclNew).SetAccessRule($($Using:accessRule))}
            Invoke-Command -Session $sessionAD -ScriptBlock {Set-Acl -Path $($Using:U_Drive_path_new) -AclObject $($Using:aclNew)}
            

Bei dem Code habe ich folgendes Problem: 

Auf dem Server funktioniert es und ich kann ohne Probleme die Befehle ausführen. Wenn ich jedoch über eine Session mit Invoke-Command dran gehe wird der Zugriff verwehrt, obwohl ich die Session mit einem Admin aufmache. 

  • 4 Wochen später...

Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren

Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können

Benutzerkonto erstellen

Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!

Neues Benutzerkonto erstellen

Anmelden

Du hast bereits ein Benutzerkonto? Melde Dich hier an.

Jetzt anmelden

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...