Zum Inhalt springen

Homeverzeichnis mit PowerShell


Clay61

Empfohlene Beiträge

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

Link zu diesem Kommentar
Auf anderen Seiten teilen

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. 

Link zu diesem Kommentar
Auf anderen Seiten teilen

vor 5 Stunden schrieb x0r:

Dann müssten ja theoretisch die restlichen Befehle wie New-ADUser über Invoke-Command auch geblockt werden. Wird aber nicht, sonder nur Get-ACL

Link zu diesem Kommentar
Auf anderen Seiten teilen

  • 4 Wochen später...

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

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...