The SetAccessControl method applies access control list (ACL) entries to a file that represents the noninherited ACL list.

Caution

The ACL specified for the directorySecurity parameter replaces the existing ACL for the directory. To add permissions for a new user, use the GetAccessControl method to obtain the existing ACL and modify it.

The SetAccessControl method persists only DirectorySecurity objects that have been modified after object creation. If a DirectorySecurity object has not been modified, it will not be persisted to a file. Therefore, it is not possible to retrieve a DirectorySecurity object from one file and reapply the same object to another file.

The following example uses the GetAccessControl and the SetAccessControl methods to add an access control list (ACL) entry and then remove an ACL entry from a directory. You must supply a valid user or group account to run this example.