Jump to content

Powershell: Vergabe von mehreren InheritanceFlags bei der ACL-Erstellung


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

Empfohlene Beiträge

Geschrieben

Hallo,

 

ich habe einen 3 Jahre alten Thread gefunden mit dessen Hilfe ich ein Script zur Erstellung von ACLs erstellen konnte. In diesem Scipt gibt es unter anderem die Zeile

$InheritanceFlag = [system.Security.AccessControl.InheritanceFlags]::[b]None[/b]

Ich möchte statt diesem None aber gern die beiden anderen möglichen InheritanceFlags ContainerInherit und ObjectInherit setzen. Kann mir jemand sagen, wie ich hier 2 Attribute übergebe?

 

Alles Gute

 

B_out

Geschrieben

So ich habe mal versucht, den Code so weit wie möglich zu zeigen, damit mir eventuell noch geholfen werden kann:

 

$newrights = [system.Security.AccessControl.FileSystemRights]”FullControl” 
$InheritanceFlag = [system.Security.AccessControl.InheritanceFlags]::None 
$PropagationFlag = [system.Security.AccessControl.PropagationFlags]::None 
$Typ =[system.Security.AccessControl.AccessControlType]::Allow 
$ID = new-object System.Security.Principal.NTAccount(“Contoso\Administrator”) 
$SecRule = new-object System.Security.AccessControl.FileSystemAccessRule($ID, $newrights, $InheritanceFlag, $PropagationFlag, $Typ) 

$myACL = get-acl “.\c1-prepare.ps1“ 
$myACL.AddAccessRule($SecRule) 
Set-ACL “.\c1-prepare.ps1t“ $myACL

 

In der 2. Zeile möchte ich sowohl "ContainerInherit" als auch "ObjectInherit" übergeben.

Weiteres auch in der MSDN-Library - DotNetFramework.

Hier auch noch der Link zu den PDFs, die blub damals erwähnte: http://blogs.technet.com/b/chitpro-de/archive/2008/02/28/kostenloser-windows-powershell-workshop-serveradministration.aspx

Geschrieben

Ich kann es grad nicht selber ausprobieren, aber ich hätte jetzt mal behauptet, dass in diesem Fall eine kleine Bitoperation zum Ziel führt.

 

...
$SecRule = [system.Security.AccessControl.InheritanceFlags]::ContainerInherit -bor [system.Security.AccessControl.InheritanceFlags]::ObjectInherit
...

Geschrieben

Vielen Dank ZeroKnowledge. Hat genauso funktioniert. hier der gesamte Code dafür. =)

 

$newrights = [system.Security.AccessControl.FileSystemRights]”FullControl” 
$InheritanceFlag = [system.Security.AccessControl.InheritanceFlags]::ContainerInherit -bor [system.Security.AccessControl.InheritanceFlags]::ObjectInherit

$PropagationFlag = [system.Security.AccessControl.PropagationFlags]::None 
$Typ =[system.Security.AccessControl.AccessControlType]::Allow 
$ID = new-object System.Security.Principal.NTAccount(“Contoso\Administrator”) 
$SecRule = new-object System.Security.AccessControl.FileSystemAccessRule($ID, $newrights, $InheritanceFlag, $PropagationFlag, $Typ) 

$myACL = get-acl “.\c1-prepare.ps1“ 
$myACL.AddAccessRule($SecRule) 
Set-ACL “.\c1-prepare.ps1t“ $myACL

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

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
×
×
  • Neu erstellen...