Microsoft Windows PowerShell is a command-line shell and scripting tool based on the Microsoft .NET Framework. It is designed for system administrators, engineers and developers to control and automate the administration of Windows and applications.
More than hundred command-line tools (so called "cmdlets") can be used to perform system administration tasks and Windows Management Instrumentation (WMI). These cmdlets are easy to use, with standard naming conventions and common parameters, and standard tools for piping, sorting, filtering, and formatting data and objects.
Description
Back up your Hyper-V VMs Easy & Fast. 100% built for Hyper-V. Free for 2 VMs, forever.
Usage
Options
-Path path
Path to the item to be changed {accepts wildcards}
-aclObject ObjectSecurity
An ACL with the desired property values.
-filter string
A filter in the provider's format or language.
The exact syntax of the filter (wildcard support etc) depends on the provider.
Filters are more efficient than -include/-exclude, because the provider
applies the filter when retrieving the objects, rather than having
PowerShell filter the objects after they are retrieved.
-include string
Include only the specified items from the Path. e.g. "May*"
this only works when the path includes a wildcard character.
-exclude string
Omit the specified items from the Path e.g. "*SS64*"
this only works when the path includes a wildcard character.
-passThru
Pass the object created by Set-Acl through the pipeline.
-whatIf
Describe what would happen if you executed the command without
actually executing the command.
-confirm
Prompt for confirmation before executing the command.
CommonParameters:
-Verbose, -Debug, -ErrorAction, -ErrorVariable, -OutVariable.
-confirm
Prompt for confirmation before executing the command.
Example(s)
Copy the security settings from Dog.txt to Cat.txt
PS C:\>$DogACL = get-acl c:\dog.txt
PS C:\>set-acl -path C:\cat.txt -AclObject $DogACL
Or the same thing with a pipeline:
PS C:\>get-acl c:\dog.txt | set-acl -path C:\cat.txt
Apply the same $DogACL to all the files in C:\Temp\ and all of its subdirectories:
PS C:\>get-childitem c:\temp -recurse -force | set-acl -aclobject $DogACL -whatif