Usage:XCACLS filename [/E] [/G user:perm;spec] [...] [/R user [...]] [/F] [/S] [/T] [/P user:perm;spec [...]] [/D user:perm;spec] [...] [/O user] [/I ENABLE/COPY/REMOVE] [/N [/L filename] [/Q] [/DEBUG] filename [Required] If used alone, it displays ACLs. (Filename can be a filename, directory name or wildcard characters and can include the whole path. If path is missing, it is assumed to be under the current directory.) Notes: - Put filename in quotes if it has spaces or special characters such as &, $, #, etc. - If filename is a directory, all files and subdirectories under it will NOT be changed unless the /F or S is present. /F [Used with Directory or Wildcard] This will change all files under the inputted directory but will NOT traverse subdirectories unless /T is also present. If filename is a directory, and /F is not used, no files will be touched. /S [Used with Directory or Wildcard] This will change all subfolders under the inputted directory but will NOT traverse subdirectories unless /T is also present. If filename is a directory, and /S is not used, no subdirectories will be touched. /T [Used only with a Directory] Traverses each subdirectory and makes the same changes. This switch will traverse directories only if the filename is a directory or is using wildcard characters. /E Edit ACL instead of replacing it. /G user:GUI Grant security permissions similar to Windows GUI standard (non-advanced) choices. /G user:Perm;Spec Grant specified user access rights. (/G adds to existing rights for user) User: If User has spaces in it, enclose it in quotes. If User contains #machine#, it will replace #machine# with the actual machine name if it is a non-domain controller, and replace it with the actual domain name if it is a domain controller. New to 3.0: User can be a string representing the actual SID, but MUST be lead by SID# Example: SID#S-1-5-21-2127521184-160... (SID string shown has been shortened) (If any user has SID# then globally all matches must match the SID (not name) so if your intention is to apply changes to all accounts that match Domain\User then do not specify SID# as one of the users.) GUI: Is for standard rights and can be: Permissions... F Full control M Modify X read and eXecute L List folder contents R Read W Write Note: If a ; is present, this will be considered a Perm;Spec parameter pair. Perm: Is for "Files Only" and can be: Permissions... F Full control M Modify X read and eXecute R Read W Write Advanced... D Take Ownership C Change Permissions B Read Permissions A Delete 9 Write Attributes 8 Read Attributes 7 Delete Subfolders and Files 6 Traverse Folder / Execute File 5 Write Extended Attributes 4 Read Extended Attributes 3 Create Folders / Append Data 2 Create Files / Write Data 1 List Folder / Read Data Spec is for "Folder and Subfolders only" and has the same choices as Perm. /R user Revoke specified user's access rights. (Will remove any Allowed or Denied ACL's for user.) /P user:GUI Replace security permissions similar to standard choices. /P user:perm;spec Replace specified user's access rights. For access right specification see /G option. (/P behaves like /G if there are no rights set for user.) /D user:GUI Deny security permissions similar to standard choices. /D user:perm;spec Deny specified user access rights. For access right specification see /G option. (/D adds to existing rights for user.) /O user Change the Ownership to this user or group. /I switch Inheritance flag. If omitted, the default is to not touch Inherited ACL's. Switch can be: ENABLE - This will turn on the Inheritance flag if it is not on already. COPY - This will turn off the Inheritance flag and copy the Inherited ACL's into Effective ACL's. REMOVE - This will turn off the Inheritance flag and will not copy the Inherited ACL's. This is the opposite of ENABLE. If switch is not present, /I will be ignored and Inherited ACL's will remain untouched. /L filename Filename for Logging. This can include a path name if the file is not under the current directory. File will be appended to, or created if it does not exit. Must be Text file if it exists or error will occur. If filename is omitted, the default name of XCACLS will be used. /Q Turn on Quiet mode. By default, it is off. If it is turned on, there will be no display to the screen. /DEBUG Turn on Debug mode. By default, it is off. If it is turned on, there will be more information displayed and/or logged. Information will show Sub/Function Enter and Exit as well as other important information. /SERVER servername Enter a remote server to run script against. /USER username Enter Username to impersonate for Remote Connections (requires PASS switch). Will be ignored if it is for a Local Connection. /PASS password Enter Password to go with USER switch (requires USER switch).Wildcard characters can be used to specify more than one file in a command, such as: * Any string of zero or more characters ? Any single characterYou can specify more than one user in a command.You can combine access rights.
C:\>XCACLS.VBS c:\testMicrosoft (R) Windows Script Host Version 5.6Copyright (C) Microsoft Corporation 1996-2001. All rights reserved.Starting XCACLS.VBS (Version: 3.4) Script at 6/11/2003 10:55:21 AMStartup directory:"C:\test"Arguments Used: Filename = "c:\test"**************************************************************************Directory: C:\testPermissions:Type Username Permissions InheritanceAllowed BUILTIN\Administrators Full Control This Folder, SubfoldeAllowed NT AUTHORITY\SYSTEM Full Control This Folder, SubfoldeAllowed Domain1\User1 Full Control This Folder OnlyAllowed \CREATOR OWNER Special (Unknown) Subfolders and FilesAllowed BUILTIN\Users Read and Execute This Folder, SubfoldeAllowed BUILTIN\Users Create Folders / Appe This Folder and SubfoAllowed BUILTIN\Users Create Files / Write This Folder and SubfoNo Auditing setOwner: Domain1\User1
Article ID: 825751 - Last Review: 10/30/2006 21:31:49 - Revision: 2.4