Hi Glenn!
Cool script!

Ran it through our scripts and they look good.
Did run into a snag though with the following bit of code..
Code:
$x=WriteValue('HKLM\SYSTEM\CurrentControlSet\Services\PnSson\NetworkProvider', 'ProviderPath',
'C:\Program Files\Citrix\ICA Client\pnsson.dll','REG_SZ')
Quote:
Warning: Possible mismatched parenthesis.
In function: CITRIXPASSTHROUGH
Referenced on line: 301
PF=1
301: $x=WriteValue('HKLM\SYSTEM\CurrentControlSet\Services\PnSson\NetworkProvider', 'ProviderPath',
Warning: Possible mismatched parenthesis.
In function: CITRIXPASSTHROUGH
Referenced on line: 302
PF=-1
302: 'C:\Program Files\Citrix\ICA Client\pnsson.dll','REG_SZ')
2 warnings generated, 1204 lines processed.
I don't see this as being a "showstopper" as I run the script with the lines broken to avoid long lines.
Thanks,
Kent