Set-Acl
Módosítja egy adott elem biztonsági leíróját, például egy fájlt vagy egy beállításkulcsot.
Syntax
ByPath (Alapértelmezett)
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
A Set-Acl parancsmag módosítja egy adott elem biztonsági leíróját, például egy fájlt vagy egy beállításkulcsot, hogy megfeleljen a megadott biztonsági leíró értékeinek.
A Set-Aclhasználatához használja a Path vagy InputObject paramétert annak az elemnek a azonosításához, amelynek biztonsági leíróját módosítani szeretné.
Ezután az AclObject vagy SecurityDescriptor paraméterekkel adjon meg egy olyan biztonsági leírót, amely tartalmazza az alkalmazni kívánt értékeket.
Set-Acl a megadott biztonsági leírót alkalmazza.
Az AclObject paraméter értékét használja modellként, és az elem biztonsági leírójában szereplő értékeket az AclObject paraméter értékeinek megfelelően módosítja.
Példák
1. példa: Biztonsági leíró másolása egyik fájlból a másikba
$DogACL = Get-Acl -Path "C:\Dog.txt"
Set-Acl -Path "C:\Cat.txt" -AclObject $DogACL
Ezek a parancsok a Dog.txt fájl biztonsági leírójának értékeit a Cat.txt fájl biztonsági leírójára másolja. Amikor a parancsok befejeződnek, a Dog.txt és Cat.txt fájlok biztonsági leírói azonosak.
Az első parancs a Get-Acl parancsmagot használja a Dog.txt fájl biztonsági leírójának lekéréséhez. A hozzárendelési operátor (=) a biztonsági leírót a $DogACL változó értékében tárolja.
A második parancs a Set-Acl használatával módosítja a Cat.txt ACL-jének értékeit a $DogACL értékeire.
A Path paraméter értéke a Cat.txt fájl elérési útja. Az AclObject paraméter értéke az ACL modell, ebben az esetben a Dog.txt ACL-je a $DogACL változóban mentett módon.
2. példa: Használja a pipeline operátort egy leíró átadására
Get-Acl -Path "C:\Dog.txt" | Set-Acl -Path "C:\Cat.txt"
Ez a parancs majdnem megegyezik az előző példában szereplő paranccsal, azzal a kivételrel, hogy egy folyamatkezelővel küldi el a biztonsági leírót egy Get-Aclcommand egy Set-Acl parancsnak.
Az első parancs a Get-Acl parancsmagot használja a Dog.txt fájl biztonsági leírójának lekéréséhez.
A folyamatkezelő (|) átad egy objektumot, amely a Dog.txt biztonsági leírót jelöli a Set-Acl parancsmagnak.
A második parancs a Set-Acl használatával alkalmazza a Dog.txt biztonsági leíróját Cat.txt.
A parancs befejeződésekor a Dog.txt és Cat.txt fájlok ACL-jei azonosak.
3. példa: Biztonsági leíró alkalmazása több fájlra
$NewAcl = Get-Acl File0.txt
Get-ChildItem -Path "C:\temp" -Recurse -Include "*.txt" -Force | Set-Acl -AclObject $NewAcl
Ezek a parancsok a File0.txt fájlban lévő biztonsági leírókat a C:\Temp könyvtár összes szövegfájljára és annak összes alkönyvtárára alkalmazzák.
Az első parancs lekéri a File0.txt fájl biztonsági leíróját az aktuális könyvtárban, és a hozzárendelési operátor (=) használatával tárolja a $NewACL változóban.
A folyamat első parancsa a Get-ChildItem parancsmaggal szerzi be az összes szövegfájlt a C:\Temp könyvtárban. A Recurse paraméter kiterjeszti a parancsot a C:\temp összes alkönyvtárára. Az Include paraméter korlátozza a lekért fájlokat a ".txt" fájlnévkiterjesztéssel rendelkezőkre. A Force paraméter rejtett fájlokat kap, amelyek egyébként ki lesznek zárva. (A "c:\temp*.txt" nem használható, mert a Recurse paraméter nem fájlokon, hanem könyvtárakon működik.)
A folyamatművelet (|) elküldi a beolvasott fájlokat képviselő objektumokat a Set-Acl parancsmagnak, amely az AclObject paraméter biztonsági leíróját alkalmazza a folyamat összes fájljára.
A gyakorlatban a legjobb, ha a WhatIf paramétert használja az összes olyan Set-Acl parancsgal, amely több elemet is érinthet.
Ebben az esetben a folyamat második parancsa a "Set-Acl -AclObject $NewAcl -WhatIf" lesz.
Ez a parancs felsorolja a parancs által érintett fájlokat.
Az eredmény áttekintése után újra futtathatja a parancsot a WhatIf paraméter nélkül.
Paraméterek
-AclObject
A kívánt tulajdonságértékekkel rendelkező ACL-t ad meg.
Set-Acl a Elérési út vagy InputObject paraméter által megadott elem ACL-jének módosítása a megadott biztonsági objektum értékeinek megfelelően.
Mentheti egy Get-Acl parancs kimenetét egy változóban, majd az AclObject paraméterrel átadhatja a változót, vagy beírhat egy Get-Acl parancsot.
Paramétertulajdonságok
| Típus: | Object |
| Alapértelmezett érték: | None |
| Támogatja a helyettesítő karaktereket: | False |
| DontShow: | False |
Paraméterkészletek
(All)
| Position: | 1 |
| Kötelező: | True |
| Folyamatból származó érték: | True |
| Folyamatból származó érték tulajdonságnév alapján: | False |
| Fennmaradó argumentumokból származó érték: | False |
-CentralAccessPolicy
Létrehozza vagy módosítja az elem központi hozzáférési szabályzatát. Adja meg egy központi hozzáférési szabályzat CAP-azonosítóját vagy rövid nevét a számítógépen.
A Windows Server 2012-től kezdve a rendszergazdák az Active Directory és a Csoportházirend használatával állíthatják be a felhasználók és csoportok központi hozzáférési szabályzatait. További információ: Dinamikus hozzáférés-vezérlés: Forgatókönyv áttekintése.
Ezt a paramétert a Windows PowerShell 3.0-ban vezettük be.
Paramétertulajdonságok
| Típus: | String |
| Alapértelmezett érték: | None |
| Támogatja a helyettesítő karaktereket: | False |
| DontShow: | False |
Paraméterkészletek
ByPath
| Position: | 2 |
| Kötelező: | False |
| Folyamatból származó érték: | False |
| Folyamatból származó érték tulajdonságnév alapján: | True |
| Fennmaradó argumentumokból származó érték: | False |
ByLiteralPath
| Position: | 2 |
| Kötelező: | False |
| Folyamatból származó érték: | False |
| Folyamatból származó érték tulajdonságnév alapján: | True |
| Fennmaradó argumentumokból származó érték: | False |
-ClearCentralAccessPolicy
Eltávolítja a központi hozzáférési szabályzatot a megadott elemből.
A Windows Server 2012-től kezdve a rendszergazdák az Active Directory és a Csoportházirend használatával állíthatják be a felhasználók és csoportok központi hozzáférési szabályzatait. További információ: Dinamikus hozzáférés-vezérlés: Forgatókönyv áttekintése.
Ezt a paramétert a Windows PowerShell 3.0-ban vezettük be.
Paramétertulajdonságok
| Típus: | SwitchParameter |
| Alapértelmezett érték: | False |
| Támogatja a helyettesítő karaktereket: | False |
| DontShow: | False |
Paraméterkészletek
ByPath
| Position: | Named |
| Kötelező: | False |
| Folyamatból származó érték: | False |
| Folyamatból származó érték tulajdonságnév alapján: | False |
| Fennmaradó argumentumokból származó érték: | False |
ByLiteralPath
| Position: | Named |
| Kötelező: | False |
| Folyamatból származó érték: | False |
| Folyamatból származó érték tulajdonságnév alapján: | False |
| Fennmaradó argumentumokból származó érték: | False |
-Confirm
Megerősítést kér a parancsmag futtatása előtt.
Paramétertulajdonságok
| Típus: | SwitchParameter |
| Alapértelmezett érték: | False |
| Támogatja a helyettesítő karaktereket: | False |
| DontShow: | False |
| Aliasok: | Cf |
Paraméterkészletek
(All)
| Position: | Named |
| Kötelező: | False |
| Folyamatból származó érték: | False |
| Folyamatból származó érték tulajdonságnév alapján: | False |
| Fennmaradó argumentumokból származó érték: | False |
-Exclude
Kihagyja a megadott elemeket. Ennek a paraméternek az értéke a Elérési út paramétert minősíti. Adjon meg egy elérési út elemet vagy mintát, például "*.txt". Helyettesítő karakterek használata engedélyezett.
Paramétertulajdonságok
| Típus: | String[] |
| Alapértelmezett érték: | None |
| Támogatja a helyettesítő karaktereket: | True |
| DontShow: | False |
Paraméterkészletek
(All)
| Position: | Named |
| Kötelező: | False |
| Folyamatból származó érték: | False |
| Folyamatból származó érték tulajdonságnév alapján: | False |
| Fennmaradó argumentumokból származó érték: | False |
-Filter
A szűrőt a szolgáltató formátumában vagy nyelvén adja meg. Ennek a paraméternek az értéke a Elérési út paramétert minősíti. A szűrő szintaxisa, beleértve a helyettesítő karakterek használatát, a szolgáltatótól függ. A szűrők hatékonyabbak, mint a többi paraméter, mivel a szolgáltató azokat az objektumok beolvasásakor alkalmazza ahelyett, hogy a PowerShell a lekérésük után szűri az objektumokat.
Paramétertulajdonságok
| Típus: | String |
| Alapértelmezett érték: | None |
| Támogatja a helyettesítő karaktereket: | True |
| DontShow: | False |
Paraméterkészletek
(All)
| Position: | Named |
| Kötelező: | False |
| Folyamatból származó érték: | False |
| Folyamatból származó érték tulajdonságnév alapján: | False |
| Fennmaradó argumentumokból származó érték: | False |
-Include
Csak a megadott elemeket módosítja. Ennek a paraméternek az értéke a Elérési út paramétert minősíti. Adjon meg egy elérési út elemet vagy mintát, például "*.txt". Helyettesítő karakterek használata engedélyezett.
Paramétertulajdonságok
| Típus: | String[] |
| Alapértelmezett érték: | None |
| Támogatja a helyettesítő karaktereket: | True |
| DontShow: | False |
Paraméterkészletek
(All)
| Position: | Named |
| Kötelező: | False |
| Folyamatból származó érték: | False |
| Folyamatból származó érték tulajdonságnév alapján: | False |
| Fennmaradó argumentumokból származó érték: | False |
-InputObject
Módosítja a megadott objektum biztonsági leíróját. Adjon meg egy változót, amely tartalmazza az objektumot vagy az objektumot lekérő parancsot.
Az objektum nem módosítható a Set-Acl
Ezt a paramétert a Windows PowerShell 3.0-ban vezettük be.
Paramétertulajdonságok
| Típus: | PSObject |
| Alapértelmezett érték: | None |
| Támogatja a helyettesítő karaktereket: | False |
| DontShow: | False |
Paraméterkészletek
ByInputObject
| Position: | 0 |
| Kötelező: | True |
| Folyamatból származó érték: | False |
| Folyamatból származó érték tulajdonságnév alapján: | True |
| Fennmaradó argumentumokból származó érték: | False |
-LiteralPath
Módosítja a megadott elem biztonsági leíróját. A Path-tal ellentétben a LiteralPath paraméter értéke pontosan a beíráskor lesz használva. A rendszer egyetlen karaktert sem értelmez helyettesítő karakterként. Ha az elérési útvonal escape karaktereket tartalmaz, tedd azt egyes idézőjelek közé. Az egyes idézőjelek azt mondják a PowerShellnek, hogy egyetlen karaktert se értelmezzen escape szekvenciaként.
Ezt a paramétert a Windows PowerShell 3.0-ban vezettük be.
Paramétertulajdonságok
| Típus: | String[] |
| Alapértelmezett érték: | None |
| Támogatja a helyettesítő karaktereket: | False |
| DontShow: | False |
| Aliasok: | PSPath |
Paraméterkészletek
ByLiteralPath
| Position: | Named |
| Kötelező: | True |
| Folyamatból származó érték: | False |
| Folyamatból származó érték tulajdonságnév alapján: | True |
| Fennmaradó argumentumokból származó érték: | False |
-Passthru
Olyan objektumot ad vissza, amely a módosított biztonsági leírót jelöli. Ez a parancsmag alapértelmezés szerint nem hoz létre kimenetet.
Paramétertulajdonságok
| Típus: | SwitchParameter |
| Alapértelmezett érték: | None |
| Támogatja a helyettesítő karaktereket: | False |
| DontShow: | False |
Paraméterkészletek
(All)
| Position: | Named |
| Kötelező: | False |
| Folyamatból származó érték: | False |
| Folyamatból származó érték tulajdonságnév alapján: | False |
| Fennmaradó argumentumokból származó érték: | False |
-Path
Módosítja a megadott elem biztonsági leíróját. Adja meg egy elem elérési útját, például egy fájl vagy egy beállításkulcs elérési útját. Helyettesítő karakterek használata engedélyezett.
Ha biztonsági objektumot ad át Set-Acl (vagy az AclObject vagy SecurityDescriptor paraméter használatával, vagy egy biztonsági objektum Get-Acl-ről Set-Acl) való átadására, és kihagyja a Elérési út paramétert (név és érték), Set-Acl a biztonsági objektumban található elérési utat használja.
Paramétertulajdonságok
| Típus: | String[] |
| Alapértelmezett érték: | None |
| Támogatja a helyettesítő karaktereket: | True |
| DontShow: | False |
Paraméterkészletek
ByPath
| Position: | 0 |
| Kötelező: | True |
| Folyamatból származó érték: | False |
| Folyamatból származó érték tulajdonságnév alapján: | True |
| Fennmaradó argumentumokból származó érték: | False |
-UseTransaction
Tartalmazza a parancsot az aktív tranzakcióban. Ez a paraméter csak akkor érvényes, ha egy tranzakció folyamatban van. További információ: about_Transactions.
Paramétertulajdonságok
| Típus: | SwitchParameter |
| Alapértelmezett érték: | False |
| Támogatja a helyettesítő karaktereket: | False |
| DontShow: | False |
| Aliasok: | usetx |
Paraméterkészletek
(All)
| Position: | Named |
| Kötelező: | False |
| Folyamatból származó érték: | False |
| Folyamatból származó érték tulajdonságnév alapján: | False |
| Fennmaradó argumentumokból származó érték: | False |
-WhatIf
Megjeleníti, mi történne, ha a parancsmag futna. A parancsmag nem fut.
Paramétertulajdonságok
| Típus: | SwitchParameter |
| Alapértelmezett érték: | False |
| Támogatja a helyettesítő karaktereket: | False |
| DontShow: | False |
| Aliasok: | Wi |
Paraméterkészletek
(All)
| Position: | Named |
| Kötelező: | False |
| Folyamatból származó érték: | False |
| Folyamatból származó érték tulajdonságnév alapján: | False |
| Fennmaradó argumentumokból származó érték: | False |
CommonParameters
Ez a parancsmag a következő gyakori paramétereket támogatja: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction és -WarningVariable. További információért lásd about_CommonParameters.
Bevitelek
System.Security.AccessControl.ObjectSecurity, System.Security.AccessControl.CommonSecurityDescriptor
Egy ACL-objektumot vagy egy biztonsági leírót a Set-Acl.
Kimenetek
FileSecurity
Alapértelmezés szerint Set-Acl nem hoz létre kimenetet.
Ha azonban a Passthru paramétert használja, az létrehoz egy biztonsági objektumot.
A biztonsági objektum típusa az elem típusától függ.
Jegyzetek
A Set-Acl parancsmagot a PowerShell-fájlrendszer és a beállításjegyzék-szolgáltatók támogatják. Így módosíthatja a fájlok, könyvtárak és beállításkulcsok biztonsági leíróit.