To create a correctly formatted File GPP, follow the below guidelines.

Computer File GPP

$XMLItemAttributes = ("clsid","disabled","name","status","image","changed","uid","bypassErrors","desc","removePolicy","PRIMARYEND","action","fromPath","targetPath","readonly","archive","hidden","suppress","RUNONCE","SUBEND")


User File GPP

$XMLItemAttributes = ("clsid","disabled","name","status","image","changed","uid","bypassErrors","userContext","desc","removePolicy","PRIMARYEND","action","fromPath","targetPath","readonly","archive","hidden","suppress","RUNONCE","SUBEND")


$XMLItemAttributes values

clsid - This is the clsid of the GPP file item. GPP clsid Reference

disabled - Enabled or Disabled . Icon color is indicating the action taken when pressed. On an enabled GPP it is red and on a disabled GPP is green.


name - Name of the GPP item.

status - A field that is updated when the value of the GPP is updated. Can be the same text as name or value.

image - This is the image that is shown in the Group Policy GUI. Image Reference

changed - Date the GPP is set. $DateUni = (Get-Date -Format u).TrimEnd('Z').

uid - Generate GUID. $GUID = ([guid]::NewGuid()).ToString().ToUpper().

bypassErrors - Sets the Stop processing items in this extension is an error occurs. Value of 1 is unchecked, value of 0 is checked.

userContext Sets the Run in logged-on user's security context (user policy option). Value of 1 is checked, value of 0 is unchecked. Only used in User File GPP.

desc Set's the Description text. By default includes the $FirmName and $Date. Useful to add additional notes about what the setting actually controls.

removePolicy - Sets the Remove this item when it is no longer applied. Value of 1 is checked, value of 0 is unchecked. Only works with Replace action.

PRIMARYEND - Internal script header to indicate XML subnode.



action - Identifies the action for the GPP.

Action Value
Create C
Replace R
Update U
Delete D

fromPath - Source file path, for example: $DFSInstallFolder\$FirmShort\Default User Tile\user.bmp. Follows all GPP rules, so wildcards are an acceptable value.

targetPath - Destination file, for example: C:\ProgramData\Microsoft\User Account Pictures\user.bmp. Remember to include the destination filename.

readonly - Sets the Read-only attribute of the file. Value of 1 is checked, value of 0 is unchecked.

archive - Sets the Archive attribute of the file. Value of 1 is checked, value of 0 is unchecked.

hidden - Sets the Hidden attribute of the file. Value of 1 is checked, value of 0 is unchecked.

suppress - Sets the Suppress errors on individual file actions attribute of the file. Value of 1 is checked, value of 0 is unchecked.

RUNONCE - Signifies if the GPP should be set to Apply once and do not reapply. Valid values are YES or NO.

SUBEND - Internal script header to indicate XML subnode ending.



File GPP Example
See Deployment for instructions on updating GPP.

$XMLItemValues += @($FileCLSID,"0","olkexplorer.officeUI","olkexplorer.officeUI","0",$DateUni,$GUID,"1","1","Created By $FirmName on $Date for Office. Sets the Outlook default Quick Access Toolbar.","0","PRIMARYEND","C","$DFSInstallFolder\$FirmShort\Microsoft\Office$OfficeProduct\QuickAccessToolbar\olkexplorer.officeUI","%LOCALAPPDATA%\Microsoft\Office\olkexplorer.officeUI","0","1","0","0","Yes","SUBEND")

In this example, an officeUI file is going to be copied from a directory that has been setup under the DFS Install folder and copy it to the users LocalAppData folder.