Sdílet prostřednictvím


Set-Acl

Změní popisovač zabezpečení zadané položky, například soubor nebo klíč registru.

Syntax

ByPath (Výchozí)

Set-Acl
    [-Path] <String[]>
    [-AclObject] <Object>
    [[-CentralAccessPolicy] <String>]
    [-ClearCentralAccessPolicy]
    [-Passthru]
    [-Filter <String>]
    [-Include <String[]>]
    [-Exclude <String[]>]
    [-WhatIf]
    [-Confirm]
    [-UseTransaction]
    [<CommonParameters>]

ByInputObject

Set-Acl
    [-InputObject] <PSObject>
    [-AclObject] <Object>
    [-Passthru]
    [-Filter <String>]
    [-Include <String[]>]
    [-Exclude <String[]>]
    [-WhatIf]
    [-Confirm]
    [-UseTransaction]
    [<CommonParameters>]

ByLiteralPath

Set-Acl
    [-AclObject] <Object>
    [[-CentralAccessPolicy] <String>]
    -LiteralPath <String[]>
    [-ClearCentralAccessPolicy]
    [-Passthru]
    [-Filter <String>]
    [-Include <String[]>]
    [-Exclude <String[]>]
    [-WhatIf]
    [-Confirm]
    [-UseTransaction]
    [<CommonParameters>]

Description

Rutina Set-Acl změní popisovač zabezpečení zadané položky, například souboru nebo klíče registru, tak, aby odpovídal hodnotám v popisovači zabezpečení, který zadáte.

Chcete-li použít Set-Acl, pomocí Path nebo InputObject parametr identifikujte položku, jejíž popisovač zabezpečení chcete změnit. Potom pomocí parametrů AclObject nebo SecurityDescriptor zadejte popisovač zabezpečení s hodnotami, které chcete použít. Set-Acl použije popisovač zabezpečení, který je zadán. Používá hodnotu parametru AclObject jako model a změní hodnoty v popisovači zabezpečení položky tak, aby odpovídaly hodnotám v parametru AclObject.

Příklady

Příklad 1: Zkopírování popisovače zabezpečení z jednoho souboru do druhého

$DogACL = Get-Acl -Path "C:\Dog.txt"
Set-Acl -Path "C:\Cat.txt" -AclObject $DogACL

Tyto příkazy zkopírují hodnoty z popisovače zabezpečení Dog.txt souboru do popisovače zabezpečení Cat.txt souboru. Po dokončení příkazů jsou popisovače zabezpečení Dog.txt a Cat.txt souborů stejné.

První příkaz použije rutinu Get-Acl k získání popisovače zabezpečení souboru Dog.txt. Operátor přiřazení (=) ukládá popisovač zabezpečení do hodnoty proměnné $DogACL.

Druhý příkaz používá Set-Acl ke změně hodnot v seznamu ACL Cat.txt na hodnoty v $DogACL.

Hodnota parametru Path je cesta k souboru Cat.txt. Hodnota parametru AclObject je seznam ACL modelu, v tomto případě seznam ACL Dog.txt uložený v proměnné $DogACL.

Příklad 2: Předání popisovače pomocí operátoru kanálu

Get-Acl -Path "C:\Dog.txt" | Set-Acl -Path "C:\Cat.txt"

Tento příkaz je téměř stejný jako příkaz v předchozím příkladu s tím rozdílem, že používá operátor kanálu k odeslání popisovače zabezpečení z Get-Aclcommand do příkazu Set-Acl.

První příkaz používá rutinu Get-Acl k získání popisovače zabezpečení souboru Dog.txt. Operátor kanálu (|) předá objekt, který představuje popisovač zabezpečení Dog.txt do rutiny Set-Acl.

Druhý příkaz používá Set-Acl k použití popisovače zabezpečení Dog.txt na Cat.txt. Po dokončení příkazu jsou seznamy ACL Dog.txt a Cat.txt souborů stejné.

Příklad 3: Použití popisovače zabezpečení u více souborů

$NewAcl = Get-Acl File0.txt
Get-ChildItem -Path "C:\temp" -Recurse -Include "*.txt" -Force | Set-Acl -AclObject $NewAcl

Tyto příkazy aplikují popisovače zabezpečení v souboru File0.txt na všechny textové soubory v adresáři C:\Temp a všechny jeho podadresáře.

První příkaz získá popisovač zabezpečení souboru File0.txt v aktuálním adresáři a pomocí operátoru přiřazení (=) ho uloží do proměnné $NewACL.

První příkaz v kanálu používá rutinu Get-ChildItem k získání všech textových souborů v adresáři C:\Temp. Parametr Recurse rozšiřuje příkaz na všechny podadresáře C:\temp. Parametr Include omezuje soubory načtené na soubory s příponou názvu souboru.txt. Parametr Force získá skryté soubory, které by jinak byly vyloučeny. (Nelze použít "c:\temp*.txt", protože parametr Recurse funguje na adresářích, ne v souborech.)

Operátor kanálu (|) odešle objekty představující načtené soubory do rutiny Set-Acl, která použije popisovač zabezpečení v parametru AclObject pro všechny soubory v kanálu.

V praxi je nejlepší použít parametr WhatIf se všemi příkazy Set-Acl, které můžou ovlivnit více než jednu položku. V tomto případě by druhý příkaz v kanálu byl "Set-Acl -AclObject $NewAcl -WhatIf". Tento příkaz zobrazí seznam souborů, na které má příkaz vliv. Po kontrole výsledku můžete příkaz spustit znovu bez parametru WhatIf.

Parametry

-AclObject

Určuje seznam ACL s hodnotami požadovaných vlastností. Set-Acl změní ACL položky určené parametrem Path nebo InputObject tak, aby odpovídalo hodnotám v zadaném objektu zabezpečení.

Výstup příkazu Get-Acl můžete uložit do proměnné a potom pomocí parametru AclObject předat proměnnou nebo zadat příkaz Get-Acl.

Vlastnosti parametru

Typ:Object
Default value:None
Podporuje zástupné znaky:False
DontShow:False

Sady parametrů

(All)
Position:1
Povinné:True
Hodnota z kanálu:True
Hodnota z kanálu podle názvu vlastnosti:False
Hodnota ze zbývajících argumentů:False

-CentralAccessPolicy

Vytvoří nebo změní zásady centrálního přístupu položky. Zadejte ID CAP nebo popisný název zásady centrálního přístupu v počítači.

Od Windows Serveru 2012 můžou správci pomocí služby Active Directory a zásad skupiny nastavit zásady centrálního přístupu pro uživatele a skupiny. Další informace najdete v tématu Dynamické řízení přístupu: Přehled scénářů.

Tento parametr byl představen ve Windows PowerShellu 3.0.

Vlastnosti parametru

Typ:String
Default value:None
Podporuje zástupné znaky:False
DontShow:False

Sady parametrů

ByPath
Position:2
Povinné:False
Hodnota z kanálu:False
Hodnota z kanálu podle názvu vlastnosti:True
Hodnota ze zbývajících argumentů:False
ByLiteralPath
Position:2
Povinné:False
Hodnota z kanálu:False
Hodnota z kanálu podle názvu vlastnosti:True
Hodnota ze zbývajících argumentů:False

-ClearCentralAccessPolicy

Odebere zásadu centrálního přístupu ze zadané položky.

Od Windows Serveru 2012 můžou správci pomocí služby Active Directory a zásad skupiny nastavit zásady centrálního přístupu pro uživatele a skupiny. Další informace najdete v tématu Dynamické řízení přístupu: Přehled scénářů.

Tento parametr byl představen ve Windows PowerShellu 3.0.

Vlastnosti parametru

Typ:SwitchParameter
Default value:False
Podporuje zástupné znaky:False
DontShow:False

Sady parametrů

ByPath
Position:Named
Povinné:False
Hodnota z kanálu:False
Hodnota z kanálu podle názvu vlastnosti:False
Hodnota ze zbývajících argumentů:False
ByLiteralPath
Position:Named
Povinné:False
Hodnota z kanálu:False
Hodnota z kanálu podle názvu vlastnosti:False
Hodnota ze zbývajících argumentů:False

-Confirm

Před spuštěním cmdletu vás vyzve k potvrzení.

Vlastnosti parametru

Typ:SwitchParameter
Default value:False
Podporuje zástupné znaky:False
DontShow:False
Aliasy:viz

Sady parametrů

(All)
Position:Named
Povinné:False
Hodnota z kanálu:False
Hodnota z kanálu podle názvu vlastnosti:False
Hodnota ze zbývajících argumentů:False

-Exclude

Vynechá zadané položky. Hodnota tohoto parametru kvalifikuje parametr Path. Zadejte prvek cesty nebo vzor, například "*.txt". Jsou povoleny zástupné symboly.

Vlastnosti parametru

Typ:

String[]

Default value:None
Podporuje zástupné znaky:True
DontShow:False

Sady parametrů

(All)
Position:Named
Povinné:False
Hodnota z kanálu:False
Hodnota z kanálu podle názvu vlastnosti:False
Hodnota ze zbývajících argumentů:False

-Filter

Určuje filtr ve formátu nebo jazyce poskytovatele. Hodnota tohoto parametru kvalifikuje parametr Path. Syntaxe filtru, včetně použití zástupných znaků, závisí na poskytovateli. Filtry jsou efektivnější než jiné parametry, protože zprostředkovatel je použije při načítání objektů, místo aby po načtení objekty vyfiltroval PowerShell.

Vlastnosti parametru

Typ:String
Default value:None
Podporuje zástupné znaky:True
DontShow:False

Sady parametrů

(All)
Position:Named
Povinné:False
Hodnota z kanálu:False
Hodnota z kanálu podle názvu vlastnosti:False
Hodnota ze zbývajících argumentů:False

-Include

Změní pouze zadané položky. Hodnota tohoto parametru kvalifikuje parametr Path. Zadejte prvek cesty nebo vzor, například "*.txt". Jsou povoleny zástupné symboly.

Vlastnosti parametru

Typ:

String[]

Default value:None
Podporuje zástupné znaky:True
DontShow:False

Sady parametrů

(All)
Position:Named
Povinné:False
Hodnota z kanálu:False
Hodnota z kanálu podle názvu vlastnosti:False
Hodnota ze zbývajících argumentů:False

-InputObject

Změní popisovač zabezpečení zadaného objektu. Zadejte proměnnou obsahující objekt nebo příkaz, který objekt získá.

Objekt, který se má změnit, nelze změnit naSet-Acl . Místo toho použijte parametr InputObject explicitně v příkazu.

Tento parametr byl představen ve Windows PowerShellu 3.0.

Vlastnosti parametru

Typ:PSObject
Default value:None
Podporuje zástupné znaky:False
DontShow:False

Sady parametrů

ByInputObject
Position:0
Povinné:True
Hodnota z kanálu:False
Hodnota z kanálu podle názvu vlastnosti:True
Hodnota ze zbývajících argumentů:False

-LiteralPath

Změní popisovač zabezpečení zadané položky. Na rozdíl od Pathse hodnota parametru LiteralPath používá přesně tak, jak je zadán. Žádný znak není interpretován jako zástupný znak. Pokud cesta obsahuje únikové znaky, uzavřete ji do jednoduchých uvozovek. Jednoduché uvozovky říkají PowerShellu, aby žádné znaky neinterpretoval jako únikové sekvence.

Tento parametr byl představen ve Windows PowerShellu 3.0.

Vlastnosti parametru

Typ:

String[]

Default value:None
Podporuje zástupné znaky:False
DontShow:False
Aliasy:PSPath

Sady parametrů

ByLiteralPath
Position:Named
Povinné:True
Hodnota z kanálu:False
Hodnota z kanálu podle názvu vlastnosti:True
Hodnota ze zbývajících argumentů:False

-Passthru

Vrátí objekt, který představuje popisovač zabezpečení, který byl změněn. Ve výchozím nastavení tato rutina negeneruje žádný výstup.

Vlastnosti parametru

Typ:SwitchParameter
Default value:None
Podporuje zástupné znaky:False
DontShow:False

Sady parametrů

(All)
Position:Named
Povinné:False
Hodnota z kanálu:False
Hodnota z kanálu podle názvu vlastnosti:False
Hodnota ze zbývajících argumentů:False

-Path

Změní popisovač zabezpečení zadané položky. Zadejte cestu k položce, například cestu k souboru nebo klíči registru. Jsou povoleny zástupné symboly.

Pokud předáte objekt zabezpečení Set-Acl (buď pomocí AclObject nebo SecurityDescriptor parametry nebo předáním objektu zabezpečení z Get-Acl do Set-Acl), a vynecháte parametr Path (název a hodnota), Set-Acl použije cestu, která je součástí objektu zabezpečení.

Vlastnosti parametru

Typ:

String[]

Default value:None
Podporuje zástupné znaky:True
DontShow:False

Sady parametrů

ByPath
Position:0
Povinné:True
Hodnota z kanálu:False
Hodnota z kanálu podle názvu vlastnosti:True
Hodnota ze zbývajících argumentů:False

-UseTransaction

Zahrnuje příkaz v aktivní transakci. Tento parametr je platný pouze v případě, že probíhá transakce. Další informace najdete v tématu about_Transactions.

Vlastnosti parametru

Typ:SwitchParameter
Default value:False
Podporuje zástupné znaky:False
DontShow:False
Aliasy:usetx

Sady parametrů

(All)
Position:Named
Povinné:False
Hodnota z kanálu:False
Hodnota z kanálu podle názvu vlastnosti:False
Hodnota ze zbývajících argumentů:False

-WhatIf

Ukazuje, co se stane, když se příkaz spustí. Příkazový modul nebyl spuštěn.

Vlastnosti parametru

Typ:SwitchParameter
Default value:False
Podporuje zástupné znaky:False
DontShow:False
Aliasy:Wi

Sady parametrů

(All)
Position:Named
Povinné:False
Hodnota z kanálu:False
Hodnota z kanálu podle názvu vlastnosti:False
Hodnota ze zbývajících argumentů:False

CommonParameters

Tato rutina podporuje běžné parametry: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction a -WarningVariable. Další informace najdete v about_CommonParameters.

Vstupy

System.Security.AccessControl.ObjectSecurity, System.Security.AccessControl.CommonSecurityDescriptor

Objekt ACL nebo popisovač zabezpečení můžete řadit do Set-Acl.

Výstupy

FileSecurity

Ve výchozím nastavení Set-Acl negeneruje žádný výstup. Pokud však použijete parametr Passthru, vygeneruje objekt zabezpečení. Typ objektu zabezpečení závisí na typu položky.

Poznámky

Rutinu Set-Acl podporují poskytovatelé systému souborů PowerShell a registru. Můžete ho použít ke změně popisovačů zabezpečení souborů, adresářů a klíčů registru.