Skip to content

Instantly share code, notes, and snippets.

@ryancbutler
Created February 14, 2018 20:45
Show Gist options
  • Save ryancbutler/a2c0b868127730dea3fa69fa3b007fb1 to your computer and use it in GitHub Desktop.
Save ryancbutler/a2c0b868127730dea3fa69fa3b007fb1 to your computer and use it in GitHub Desktop.
$module = "C:\Temp\Citrix.GroupPolicy.Commands.psm1"
#Import-Module $module -force
New-PSDrive -Name LocalFarmGpo -PSProvider CitrixGroupPolicy -root \ -controller "localhost"
New-PSDrive -Name ADGpo -PSProvider CitrixGroupPolicy -root \ -domain "CITRIX - TEST GPO 0"
Export-CtxGroupPolicy -FolderPath "C:\temp\exported" -DriveName "LocalFarmGpo"
Import-CtxGroupPolicy -FolderPath "C:\temp\exported" -DriveName "ADGpo"
$filters = Import-Clixml "C:\temp\exported\GroupPolicyFilter.xml"
foreach ($filter in $filters)
{
write-host $filter.FilterName
New-Item -Path "ADGpo:\$($filter.type)\$($filter.policyname)\Filters" -Name $filter.filtervalue -ItemType $filter.filtertype
foreach ($prop in $filter.PSObject.Properties)
{
switch ($prop.name)
{
"Enabled"{Set-ItemProperty -path "ADGpo:\$($filter.type)\$($filter.policyname)\Filters\$($filter.FilterType)\$($filter.filtervalue)" -Name "ENABLED" -value $filter.ENABLED}
"Mode"{Set-ItemProperty -path "ADGpo:\$($filter.type)\$($filter.policyname)\Filters\$($filter.FilterType)\$($filter.filtervalue)" -Name "MODE" -value $filter.Mode}
"AccessGatewayFarm"{Set-ItemProperty -path "ADGpo:\$($filter.type)\$($filter.policyname)\Filters\$($filter.FilterType)\$($filter.filtervalue)" -Name "AccessGatewayFarm" -value $filter.AccessGatewayFarm}
"AccessCondition"{Set-ItemProperty -path "ADGpo:\$($filter.type)\$($filter.policyname)\Filters\$($filter.FilterType)\$($filter.filtervalue)" -Name "AccessCondition" -value $filter.AccessCondition}
}
}
}
Remove-PSDrive "localfarmgpo" -force
Remove-PSDrive "ADGpo" -force
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment