We are attempting to write a script to set permissions on a large set of GPO. The trouble we are having is all of the methods we have found online do not allow setting custom or special permissions. The below are methods we have used so far that are not producing the results we need.
Method 1 - XML Report
$xmlReport = $gpo.GenerateReport('xml')This command only returns the name of the trustee. Also includes some properties that I am uncertain if pertinent.
Method 2 - ADSI/LDAP object
$GPOACLList = $GPOObjSec.GetAccessRules($true,$true,[System.Security.Principal.SecurityIdentifier])This method returns the group and the permissions but not in a granular fashion. "FileSystemRights" returned are "FullControl" for ACLs that I know are considered custom/special with granular permissions.
Method 3 - Get-GPPermission
Get-GPPermission $gpoWithAppSpec -all | select -ExpandProperty permissionReturns permissions similar to those available to Set-GPPermission such as "GpoApply", "GpoEditDeleteModifySecurity", "GpoRead". Again, these are not granular permissions.