Jump to content

Script zum Löschen Profilordner (Rechte vergeben)


Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte erstelle einen neuen Beitrag zu Deiner Anfrage!

Empfohlene Beiträge

Ich bin gerade dabei mir ein Powershell Script zu schreiben, das mir u.a. den Profilordner (wir benutzen roaming profiles) auf einer Freigabe löschen soll. Das Problem ist nur, dass ich erst Rechte auf den Profilordner vergeben muss, damit dieser gelöscht werden kann.

 

Der Teil des Scriptes zum Vergeben der Rechte sieht  momentan wie folgt aus: 

$IdentityReference="Servername\Administrator"
$FileSystemAccessRights=[System.Security.AccessControl.FileSystemRights]::FullControl
$InheritanceFlags=[System.Security.AccessControl.InheritanceFlags]::ContainerInherit -bor [System.Security.AccessControl.InheritanceFlags]::ObjectInherit 
$PropagationFlags=[System.Security.AccessControl.PropagationFlags]::None
$AccessControl=[System.Security.AccessControl.AccessControlType]::Allow
$AccessRule=NEW-OBJECT System.Security.AccessControl.FileSystemAccessRule ($IdentityReference,$FileSystemAccessRights,$InheritanceFlags,$PropagationFlags,$AccessControl)
$ProfilOrdnerACL=GET-ACL $Userdata.ProfilePath
$ProfilOrdnerACL.AddAccessRule($AccessRule)
SET-ACL –path $Userdata.ProfilePath -AclObject $ProfilOrdnerACL

Das Script liest den Profilpfad aus einem AD-Objekt (Parameter beim Starten des Scriptes) aus und soll  nun das Recht "FullControl" vergeben dem Administrator geben.

Ich habe nun das Problem, dass das Profil nicht unterhalb des im AD angegebenen Profilpfades liegt, sondern in dem Profilpfad + der Endung .v2. 

 

Kann mir jemand dabei helfen, wie ich mein Script umbauen muss, damit am dem Profilpfad die Endung .v2 steht und die Rechte richtig gesetzt werden können?

bearbeitet von Peterzz
Link zu diesem Kommentar

Peter,

mit 

NEW-ITEM –path $Userdata.ProfilePath -type directory -force

erzeugst Du einen neuen Ordner. Soll das so sein? Ich habe es so verstanden, dass Du einen existierenden entfernen wolltest !?

 

Mit 

Join-Path -Path 'hier den Teil, den Du schon hast' -ChildPath 'hier den zusätzlichen Teil'

kann man sich einen korrekten Pfad zusammenbauen. Siehe auch Join-Path -Online

 

Oder Du benutzt einfache String-Operationen: 

$ProfilOrdner = $($Userdata.ProfilePath) + '.v2'
bearbeitet von BOfH_666
Link zu diesem Kommentar
Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte erstelle einen neuen Beitrag zu Deiner Anfrage!

Schreibe einen Kommentar

Du kannst jetzt antworten und Dich später registrieren. Falls Du bereits ein Mitglied bist, logge Dich jetzt ein.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung jetzt entfernen

  Only 75 emoji are allowed.

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

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor-Fenster leeren

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

×
×
  • Neu erstellen...