Clay61 Geschrieben 21. Februar Geschrieben 21. Februar 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 Zitieren
mylurid Geschrieben 21. Februar Geschrieben 21. Februar 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? Zitieren
Clay61 Geschrieben 22. Februar Autor Geschrieben 22. Februar 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. Zitieren
x0r Geschrieben 22. Februar Geschrieben 22. Februar https://learn.microsoft.com/en-us/powershell/module/microsoft.powershell.core/about/about_execution_policies?view=powershell-7.4 Eventuell hat der verwehrte Zugriff hiermit zu tun. Zitieren
Clay61 Geschrieben 22. Februar Autor Geschrieben 22. Februar vor 5 Stunden schrieb x0r: https://learn.microsoft.com/en-us/powershell/module/microsoft.powershell.core/about/about_execution_policies?view=powershell-7.4 Eventuell hat der verwehrte Zugriff hiermit zu tun. Dann müssten ja theoretisch die restlichen Befehle wie New-ADUser über Invoke-Command auch geblockt werden. Wird aber nicht, sonder nur Get-ACL Zitieren
x0r Geschrieben 18. März Geschrieben 18. März Kannst du mal die genaue Fehlermeldung posten? Zitieren
Empfohlene Beiträge
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.