33 lines
1.8 KiB
PowerShell
33 lines
1.8 KiB
PowerShell
Import-Module ActiveDirectory
|
|
# Check what the original working GPO had
|
|
$cwDN = "CN={3B5CD9A6-A278-4676-A9FD-9396D21A8261},CN=Policies,CN=System,DC=cascades,DC=local"
|
|
$cwExt = (Get-ADObject $cwDN -Properties gPCUserExtensionNames).gPCUserExtensionNames
|
|
Write-Output "Original Caregiver Workstation CSE: $cwExt"
|
|
|
|
# Fix the kiosk GPO with the CORRECT Shortcuts CSE
|
|
$kioskGuid = '32d76052-4d92-446c-95fb-614653f84742'
|
|
$kioskDN = "CN={$kioskGuid},CN=Policies,CN=System,DC=cascades,DC=local"
|
|
# {C418DD9D-0D14-4efb-8FBF-CFE535C8FAC7} = Group Policy Shortcuts CSE
|
|
# Use same tool GUID as original, or the generic preference tool GUID
|
|
$cse = '[{C418DD9D-0D14-4efb-8FBF-CFE535C8FAC7}{CF7639F3-ABA2-41DB-97F2-81E2C5DBFC5D}]'
|
|
if ($cwExt) { $cse = $cwExt }
|
|
Set-ADObject $kioskDN -Replace @{gPCUserExtensionNames=$cse}
|
|
$verify = (Get-ADObject $kioskDN -Properties gPCUserExtensionNames).gPCUserExtensionNames
|
|
Write-Output "Kiosk GPO CSE set to: $verify"
|
|
|
|
# Update GPT.INI
|
|
$gptPath = "\\cascades.local\SYSVOL\cascades.local\Policies\{$kioskGuid}\GPT.INI"
|
|
$ini = Get-Content $gptPath -Raw
|
|
if ($ini -match 'gPCUserExtensionNames=') { $ini = $ini -replace 'gPCUserExtensionNames=.*', "gPCUserExtensionNames=$cse" } else { $ini = $ini.TrimEnd() + "`r`ngPCUserExtensionNames=$cse`r`n" }
|
|
if ($ini -match 'Version=(\d+)') {
|
|
$ver = [int]$matches[1]; $newVer = ((($ver -shr 16)+1) -shl 16) -bor ($ver -band 0xFFFF)
|
|
$ini = $ini -replace "Version=\d+", "Version=$newVer"
|
|
}
|
|
Set-Content $gptPath $ini -Force
|
|
Write-Output "GPT.INI:"
|
|
Get-Content $gptPath
|
|
|
|
# Verify Shortcuts.xml still exists
|
|
$xmlPath = "\\cascades.local\SYSVOL\cascades.local\Policies\{$kioskGuid}\User\Preferences\Shortcuts\Shortcuts.xml"
|
|
if (Test-Path $xmlPath) { Write-Output "Shortcuts.xml: EXISTS" } else { Write-Output "Shortcuts.xml: MISSING - need to restore" }
|