282
transocean

Powershell, erweiterte NTFS Berechtigungen einem Ordner vergeben

Mitglied: sergio1993
16.12.2011
13:14:08 Uhr
747 Aufrufe
Hallo Miteinander
Ich bin ein Neuling in der Windows Powershell. Jetzt habe ich einen Auftrag bekommen, die erweiterten Berechtigungen einem Ordner zu vergeben.
Dies soll alles über ein Skript laufen.

Ich habe jetzt mehrere Stunden daran gearbeitet aber komme einfach nicht ans Ziel.
Mein Ziel ist es folgende Berechtigungen zu setzen:

Diese für "Nur diesen Ordner":
a5d6b7fe77c58e47ccd3a2017937ba85.png


Diese für "Nur Unterordner und Dateien":
36803c299053e152f138c123bef81d2e.png


Hier noch mein Code, der euch vieleicht weiterhelfen kann:
01.
 cls 
02.
 
03.
$wPowerShell=new-object -comobject wscript.shell 
04.
$Wartezeit = 0 # Benutzer muss selbst die Schaltfläche betätigen 
05.
$Schaltfläche = 4 # Schaltfläche Ja und Nein 
06.
 
07.
try 
08.
09.
do 
10.
11.
	$ordnername = Read-Host "Ordnername eingeben(Keine Sonderzeichen, kurzer Name und zusammengeschrieben)" 
12.
	$path = "C:\Tests\" + $ordnername 
13.
	if((Test-Path -Path $path) -eq $true) 
14.
15.
		Write-Host "Ordnername ist schon vorhanden, bitte geben Sie ein neuer Namen ein." 
16.
17.
18.
while((Test-Path -Path $path) -eq $true) 
19.
 
20.
#Ordner Pfad definieren und erstellen 
21.
$NewFolder = New-Item -Path $path -ItemType "directory" 
22.
 
23.
$fulluser= Read-Host "Welche Gruppe soll Vollzugriff haben?" 
24.
 
25.
$Antwort=$wPowershell.popup("Gibt es eine Gruppe die Vollzugriff haben soll?",$Wartezeit,"Überschrift Ausgabefenster",$Schaltfläche)  
26.
 
27.
if ($Antwort-eq 6) # Fall "Ja" oder "Yes" gedrückt wurde... 
28.
29.
$readuser= Read-Host "Geben Sie die gewünschte Gruppe ein." 
30.
31.
 
32.
$colRights = [System.Security.AccessControl.FileSystemRights]"Traverse"  
33.
 
34.
$InheritanceFlag = [System.Security.AccessControl.InheritanceFlags]::None  
35.
$PropagationFlag = [System.Security.AccessControl.PropagationFlags]::None  
36.
 
37.
$objType =[System.Security.AccessControl.AccessControlType]::Allow  
38.
  
39.
 
40.
$objACE = New-Object System.Security.AccessControl.FileSystemAccessRule ` 
41.
    ($fulluser, $colRights, $InheritanceFlag, $PropagationFlag, $objType)  
42.
 
43.
$objACL = Get-ACL $NewFolder 
44.
$objACL.RemoveAccessRule($objACE)  
45.
 
46.
Set-ACL $NewFolder $objACL 
47.
 
48.
49.
catch 
50.
51.
}

Ich hoffe Ihr könnt mir weiterhelfen...

Gruss
Sergio

mehr ...Ähnliche Beiträge