Modified registry powershell logic
This commit is contained in:
parent
26940e0c46
commit
6a0cdaf509
BIN
ua/registry/athena.classes.after.reg
Normal file
BIN
ua/registry/athena.classes.after.reg
Normal file
Binary file not shown.
BIN
ua/registry/athena.classes.before.reg
Normal file
BIN
ua/registry/athena.classes.before.reg
Normal file
Binary file not shown.
111
ua/registry/athena.uasrdevs.reg.diff
Normal file
111
ua/registry/athena.uasrdevs.reg.diff
Normal file
@ -0,0 +1,111 @@
|
|||||||
|
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Interface\{17DCFB07-18A9-4FFE-B34D-37B91D809C41}]
|
||||||
|
@="_IQSRDevEvents"
|
||||||
|
|
||||||
|
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Interface\{17DCFB07-18A9-4FFE-B34D-37B91D809C41}\ProxyStubClsid32]
|
||||||
|
@="{00020420-0000-0000-C000-000000000046}"
|
||||||
|
|
||||||
|
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Interface\{17DCFB07-18A9-4FFE-B34D-37B91D809C41}\TypeLib]
|
||||||
|
@="{CD886C7B-B61C-49CF-B3B8-90DB303A502A}"
|
||||||
|
"Version"="1.0"
|
||||||
|
|
||||||
|
|
||||||
|
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Interface\{6B15E61A-381F-41E7-8B65-BA386473FE8C}]
|
||||||
|
@="IQSRDev"
|
||||||
|
|
||||||
|
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Interface\{6B15E61A-381F-41E7-8B65-BA386473FE8C}\ProxyStubClsid32]
|
||||||
|
@="{00020424-0000-0000-C000-000000000046}"
|
||||||
|
|
||||||
|
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Interface\{6B15E61A-381F-41E7-8B65-BA386473FE8C}\TypeLib]
|
||||||
|
@="{CD886C7B-B61C-49CF-B3B8-90DB303A502A}"
|
||||||
|
"Version"="1.0"
|
||||||
|
|
||||||
|
|
||||||
|
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\QSRDevice.QSRDev]
|
||||||
|
@="QSRDev Class"
|
||||||
|
|
||||||
|
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\QSRDevice.QSRDev\CLSID]
|
||||||
|
@="{35578409-F9F5-43e8-A6BD-8B77199ED854}"
|
||||||
|
|
||||||
|
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\QSRDevice.QSRDev\CurVer]
|
||||||
|
@="QSRDevice.QSRDev.1"
|
||||||
|
|
||||||
|
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\QSRDevice.QSRDev.1]
|
||||||
|
@="QSRDev Class"
|
||||||
|
|
||||||
|
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\QSRDevice.QSRDev.1\CLSID]
|
||||||
|
@="{35578409-F9F5-43e8-A6BD-8B77199ED854}"
|
||||||
|
|
||||||
|
|
||||||
|
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\TypeLib\{CD886C7B-B61C-49CF-B3B8-90DB303A502A}]
|
||||||
|
|
||||||
|
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\TypeLib\{CD886C7B-B61C-49CF-B3B8-90DB303A502A}\1.0]
|
||||||
|
@="QSRDevice 1.0 Type Library"
|
||||||
|
|
||||||
|
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\TypeLib\{CD886C7B-B61C-49CF-B3B8-90DB303A502A}\1.0\0]
|
||||||
|
|
||||||
|
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\TypeLib\{CD886C7B-B61C-49CF-B3B8-90DB303A502A}\1.0\0\win32]
|
||||||
|
@="C:\\temp\\UA\\UA-SUITE\\39.11\\UASRDEV\\cupps\\6.0.3\\UASRDEVQ.EXE"
|
||||||
|
|
||||||
|
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\TypeLib\{CD886C7B-B61C-49CF-B3B8-90DB303A502A}\1.0\FLAGS]
|
||||||
|
@="0"
|
||||||
|
|
||||||
|
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\TypeLib\{CD886C7B-B61C-49CF-B3B8-90DB303A502A}\1.0\HELPDIR]
|
||||||
|
@="C:\\temp\\UA\\UA-SUITE\\39.11\\UASRDEV\\cupps\\6.0.3\\"
|
||||||
|
|
||||||
|
|
||||||
|
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\WOW6432Node\CLSID\{35578409-F9F5-43e8-A6BD-8B77199ED854}]
|
||||||
|
@="QSRDev Class"
|
||||||
|
"AppID"="{C123476B-ABB6-4bcc-B557-2FDC0CDCD6A8}"
|
||||||
|
|
||||||
|
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\WOW6432Node\CLSID\{35578409-F9F5-43e8-A6BD-8B77199ED854}\LocalServer32]
|
||||||
|
@="\"C:\\temp\\UA\\UA-SUITE\\39.11\\UASRDEV\\cupps\\60985B~1.3\\UASRDEVQ.EXE\""
|
||||||
|
|
||||||
|
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\WOW6432Node\CLSID\{35578409-F9F5-43e8-A6BD-8B77199ED854}\ProgID]
|
||||||
|
@="QSRDevice.QSRDev.1"
|
||||||
|
|
||||||
|
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\WOW6432Node\CLSID\{35578409-F9F5-43e8-A6BD-8B77199ED854}\Programmable]
|
||||||
|
|
||||||
|
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\WOW6432Node\CLSID\{35578409-F9F5-43e8-A6BD-8B77199ED854}\TypeLib]
|
||||||
|
@="{CD886C7B-B61C-49cf-B3B8-90DB303A502A}"
|
||||||
|
|
||||||
|
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\WOW6432Node\CLSID\{35578409-F9F5-43e8-A6BD-8B77199ED854}\VersionIndependentProgID]
|
||||||
|
@="QSRDevice.QSRDev"
|
||||||
|
|
||||||
|
|
||||||
|
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\WOW6432Node\Interface\{17DCFB07-18A9-4FFE-B34D-37B91D809C41}]
|
||||||
|
@="_IQSRDevEvents"
|
||||||
|
|
||||||
|
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\WOW6432Node\Interface\{17DCFB07-18A9-4FFE-B34D-37B91D809C41}\ProxyStubClsid32]
|
||||||
|
@="{00020420-0000-0000-C000-000000000046}"
|
||||||
|
|
||||||
|
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\WOW6432Node\Interface\{17DCFB07-18A9-4FFE-B34D-37B91D809C41}\TypeLib]
|
||||||
|
@="{CD886C7B-B61C-49CF-B3B8-90DB303A502A}"
|
||||||
|
"Version"="1.0"
|
||||||
|
|
||||||
|
|
||||||
|
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\WOW6432Node\Interface\{6B15E61A-381F-41E7-8B65-BA386473FE8C}]
|
||||||
|
@="IQSRDev"
|
||||||
|
|
||||||
|
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\WOW6432Node\Interface\{6B15E61A-381F-41E7-8B65-BA386473FE8C}\ProxyStubClsid32]
|
||||||
|
@="{00020424-0000-0000-C000-000000000046}"
|
||||||
|
|
||||||
|
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\WOW6432Node\Interface\{6B15E61A-381F-41E7-8B65-BA386473FE8C}\TypeLib]
|
||||||
|
@="{CD886C7B-B61C-49CF-B3B8-90DB303A502A}"
|
||||||
|
"Version"="1.0"
|
||||||
|
|
||||||
|
|
||||||
|
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\WOW6432Node\TypeLib\{CD886C7B-B61C-49CF-B3B8-90DB303A502A}]
|
||||||
|
|
||||||
|
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\WOW6432Node\TypeLib\{CD886C7B-B61C-49CF-B3B8-90DB303A502A}\1.0]
|
||||||
|
@="QSRDevice 1.0 Type Library"
|
||||||
|
|
||||||
|
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\WOW6432Node\TypeLib\{CD886C7B-B61C-49CF-B3B8-90DB303A502A}\1.0\0]
|
||||||
|
|
||||||
|
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\WOW6432Node\TypeLib\{CD886C7B-B61C-49CF-B3B8-90DB303A502A}\1.0\0\win32]
|
||||||
|
@="C:\\temp\\UA\\UA-SUITE\\39.11\\UASRDEV\\cupps\\6.0.3\\UASRDEVQ.EXE"
|
||||||
|
|
||||||
|
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\WOW6432Node\TypeLib\{CD886C7B-B61C-49CF-B3B8-90DB303A502A}\1.0\FLAGS]
|
||||||
|
@="0"
|
||||||
|
|
||||||
|
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\WOW6432Node\TypeLib\{CD886C7B-B61C-49CF-B3B8-90DB303A502A}\1.0\HELPDIR]
|
||||||
|
@="C:\\temp\\UA\\UA-SUITE\\39.11\\UASRDEV\\cupps\\6.0.3\\"
|
||||||
94
ua/registry/prometheus.uasrdevs.reg.diff
Normal file
94
ua/registry/prometheus.uasrdevs.reg.diff
Normal file
@ -0,0 +1,94 @@
|
|||||||
|
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\QSRDevice.QSRDev]
|
||||||
|
@="QSRDev Class"
|
||||||
|
|
||||||
|
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\QSRDevice.QSRDev\CLSID]
|
||||||
|
@="{35578409-F9F5-43e8-A6BD-8B77199ED854}"
|
||||||
|
|
||||||
|
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\QSRDevice.QSRDev\CurVer]
|
||||||
|
@="QSRDevice.QSRDev.1"
|
||||||
|
|
||||||
|
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\QSRDevice.QSRDev.1]
|
||||||
|
@="QSRDev Class"
|
||||||
|
|
||||||
|
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\QSRDevice.QSRDev.1\CLSID]
|
||||||
|
@="{35578409-F9F5-43e8-A6BD-8B77199ED854}"
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\TypeLib\{CD886C7B-B61C-49CF-B3B8-90DB303A502A}]
|
||||||
|
|
||||||
|
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\TypeLib\{CD886C7B-B61C-49CF-B3B8-90DB303A502A}\1.0]
|
||||||
|
@="QSRDevice 1.0 Type Library"
|
||||||
|
|
||||||
|
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\TypeLib\{CD886C7B-B61C-49CF-B3B8-90DB303A502A}\1.0\0]
|
||||||
|
|
||||||
|
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\TypeLib\{CD886C7B-B61C-49CF-B3B8-90DB303A502A}\1.0\0\win32]
|
||||||
|
@="C:\\temp\\ua\\UA-SUITE\\39.1.2\\UASRDEV\\6.0-cute\\UASRDEVS.EXE"
|
||||||
|
|
||||||
|
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\TypeLib\{CD886C7B-B61C-49CF-B3B8-90DB303A502A}\1.0\FLAGS]
|
||||||
|
@="0"
|
||||||
|
|
||||||
|
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\TypeLib\{CD886C7B-B61C-49CF-B3B8-90DB303A502A}\1.0\HELPDIR]
|
||||||
|
@="C:\\temp\\ua\\UA-SUITE\\39.1.2\\UASRDEV\\6.0-cute\\"
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\WOW6432Node\CLSID\{35578409-F9F5-43e8-A6BD-8B77199ED854}]
|
||||||
|
@="QSRDev Class"
|
||||||
|
"AppID"="{C123476B-ABB6-4bcc-B557-2FDC0CDCD6A8}"
|
||||||
|
|
||||||
|
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\WOW6432Node\CLSID\{35578409-F9F5-43e8-A6BD-8B77199ED854}\LocalServer32]
|
||||||
|
@="\"C:\\temp\\ua\\UA-SUITE\\391~1.2\\UASRDEV\\6BEB7~1.0-C\\UASRDEVS.EXE\""
|
||||||
|
|
||||||
|
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\WOW6432Node\CLSID\{35578409-F9F5-43e8-A6BD-8B77199ED854}\ProgID]
|
||||||
|
@="QSRDevice.QSRDev.1"
|
||||||
|
|
||||||
|
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\WOW6432Node\CLSID\{35578409-F9F5-43e8-A6BD-8B77199ED854}\Programmable]
|
||||||
|
|
||||||
|
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\WOW6432Node\CLSID\{35578409-F9F5-43e8-A6BD-8B77199ED854}\TypeLib]
|
||||||
|
@="{CD886C7B-B61C-49cf-B3B8-90DB303A502A}"
|
||||||
|
|
||||||
|
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\WOW6432Node\CLSID\{35578409-F9F5-43e8-A6BD-8B77199ED854}\VersionIndependentProgID]
|
||||||
|
@="QSRDevice.QSRDev"
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\WOW6432Node\Interface\{17DCFB07-18A9-4FFE-B34D-37B91D809C41}]
|
||||||
|
@="_IQSRDevEvents"
|
||||||
|
|
||||||
|
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\WOW6432Node\Interface\{17DCFB07-18A9-4FFE-B34D-37B91D809C41}\ProxyStubClsid32]
|
||||||
|
@="{00020420-0000-0000-C000-000000000046}"
|
||||||
|
|
||||||
|
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\WOW6432Node\Interface\{17DCFB07-18A9-4FFE-B34D-37B91D809C41}\TypeLib]
|
||||||
|
@="{CD886C7B-B61C-49CF-B3B8-90DB303A502A}"
|
||||||
|
"Version"="1.0"
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\WOW6432Node\Interface\{6B15E61A-381F-41E7-8B65-BA386473FE8C}]
|
||||||
|
@="IQSRDev"
|
||||||
|
|
||||||
|
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\WOW6432Node\Interface\{6B15E61A-381F-41E7-8B65-BA386473FE8C}\ProxyStubClsid32]
|
||||||
|
@="{00020424-0000-0000-C000-000000000046}"
|
||||||
|
|
||||||
|
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\WOW6432Node\Interface\{6B15E61A-381F-41E7-8B65-BA386473FE8C}\TypeLib]
|
||||||
|
@="{CD886C7B-B61C-49CF-B3B8-90DB303A502A}"
|
||||||
|
"Version"="1.0"
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\WOW6432Node\TypeLib\{CD886C7B-B61C-49CF-B3B8-90DB303A502A}]
|
||||||
|
|
||||||
|
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\WOW6432Node\TypeLib\{CD886C7B-B61C-49CF-B3B8-90DB303A502A}\1.0]
|
||||||
|
@="QSRDevice 1.0 Type Library"
|
||||||
|
|
||||||
|
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\WOW6432Node\TypeLib\{CD886C7B-B61C-49CF-B3B8-90DB303A502A}\1.0\0]
|
||||||
|
|
||||||
|
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\WOW6432Node\TypeLib\{CD886C7B-B61C-49CF-B3B8-90DB303A502A}\1.0\0\win32]
|
||||||
|
@="C:\\temp\\ua\\UA-SUITE\\39.1.2\\UASRDEV\\6.0-cute\\UASRDEVS.EXE"
|
||||||
|
|
||||||
|
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\WOW6432Node\TypeLib\{CD886C7B-B61C-49CF-B3B8-90DB303A502A}\1.0\FLAGS]
|
||||||
|
@="0"
|
||||||
|
|
||||||
|
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\WOW6432Node\TypeLib\{CD886C7B-B61C-49CF-B3B8-90DB303A502A}\1.0\HELPDIR]
|
||||||
|
@="C:\\temp\\ua\\UA-SUITE\\39.1.2\\UASRDEV\\6.0-cute\\"
|
||||||
@ -147,23 +147,18 @@ try {
|
|||||||
}
|
}
|
||||||
|
|
||||||
$progId = "$versionIndependentProgId.1";
|
$progId = "$versionIndependentProgId.1";
|
||||||
$proxyStubClsid = '00020420-0000-0000-C000-000000000046'
|
$proxyStubClsid32 = '00020420-0000-0000-C000-000000000046'
|
||||||
$proxyStubClsid32 = $proxyStubClsid
|
|
||||||
$typeLibVersion = '1.0'
|
$typeLibVersion = '1.0'
|
||||||
|
|
||||||
if ($env:PROCESSOR_ARCHITECTURE -eq 'AMD64') {
|
function Get-ClsidKeys {
|
||||||
$architectureSeparator = '\Wow6432Node'
|
param(
|
||||||
} else {
|
[Parameter(Mandatory=$true)]
|
||||||
$architectureSeparator = '\'
|
[string]
|
||||||
}
|
$architectureNode
|
||||||
|
)
|
||||||
$template = New-Object System.Collections.Generic.List[System.Object];
|
return @(
|
||||||
|
|
||||||
# CLSID keys
|
|
||||||
$template.AddRange(
|
|
||||||
@(
|
|
||||||
@{
|
@{
|
||||||
Key = "$($registryHive):\SOFTWARE\Classes$($architectureSeparator)\CLSID\{$clsid}"
|
Key = "$($registryHive):\SOFTWARE\Classes$($architectureNode)CLSID\{$clsid}"
|
||||||
Values = @(
|
Values = @(
|
||||||
@{
|
@{
|
||||||
Name = '(default)'
|
Name = '(default)'
|
||||||
@ -176,7 +171,7 @@ $template.AddRange(
|
|||||||
)
|
)
|
||||||
},
|
},
|
||||||
@{
|
@{
|
||||||
Key = "$($registryHive):\SOFTWARE\Classes$($architectureSeparator)\CLSID\{$clsid}\LocalServer32"
|
Key = "$($registryHive):\SOFTWARE\Classes$($architectureNode)CLSID\{$clsid}\LocalServer32"
|
||||||
Values = @(
|
Values = @(
|
||||||
@{
|
@{
|
||||||
Name = '(default)'
|
Name = '(default)'
|
||||||
@ -185,7 +180,7 @@ $template.AddRange(
|
|||||||
)
|
)
|
||||||
},
|
},
|
||||||
@{
|
@{
|
||||||
Key = "$($registryHive):\SOFTWARE\Classes$($architectureSeparator)\CLSID\{$clsid}\ProgID"
|
Key = "$($registryHive):\SOFTWARE\Classes$($architectureNode)CLSID\{$clsid}\ProgID"
|
||||||
Values = @(
|
Values = @(
|
||||||
@{
|
@{
|
||||||
Name = '(default)'
|
Name = '(default)'
|
||||||
@ -194,11 +189,11 @@ $template.AddRange(
|
|||||||
)
|
)
|
||||||
},
|
},
|
||||||
@{
|
@{
|
||||||
Key = "$($registryHive):\SOFTWARE\Classes$($architectureSeparator)\CLSID\{$clsid}\Programmable"
|
Key = "$($registryHive):\SOFTWARE\Classes$($architectureNode)CLSID\{$clsid}\Programmable"
|
||||||
Values = @()
|
Values = @()
|
||||||
},
|
},
|
||||||
@{
|
@{
|
||||||
Key = "$($registryHive):\SOFTWARE\Classes$($architectureSeparator)\CLSID\{$clsid}\TypeLib"
|
Key = "$($registryHive):\SOFTWARE\Classes$($architectureNode)CLSID\{$clsid}\TypeLib"
|
||||||
Values = @(
|
Values = @(
|
||||||
@{
|
@{
|
||||||
Name = '(default)'
|
Name = '(default)'
|
||||||
@ -207,17 +202,21 @@ $template.AddRange(
|
|||||||
)
|
)
|
||||||
},
|
},
|
||||||
@{
|
@{
|
||||||
Key = "$($registryHive):\SOFTWARE\Classes$($architectureSeparator)\CLSID\{$clsid}\VersionIndependentProgID"
|
Key = "$($registryHive):\SOFTWARE\Classes$($architectureNode)CLSID\{$clsid}\VersionIndependentProgID"
|
||||||
Values = @()
|
Values = @()
|
||||||
}
|
}
|
||||||
)
|
)
|
||||||
);
|
}
|
||||||
|
|
||||||
# Interface keys
|
function Get-InterfaceKeys {
|
||||||
$template.AddRange(
|
param(
|
||||||
@(
|
[Parameter(Mandatory=$true)]
|
||||||
|
[string]
|
||||||
|
$architectureNode
|
||||||
|
)
|
||||||
|
return @(
|
||||||
@{
|
@{
|
||||||
Key = "$($registryHive):\SOFTWARE\Classes$($architectureSeparator)\Interface\{$interfaceId}"
|
Key = "$($registryHive):\SOFTWARE\Classes$($architectureNode)Interface\{$interfaceId}"
|
||||||
Values = @(
|
Values = @(
|
||||||
@{
|
@{
|
||||||
Name = '(default)'
|
Name = '(default)'
|
||||||
@ -226,25 +225,16 @@ $template.AddRange(
|
|||||||
)
|
)
|
||||||
},
|
},
|
||||||
@{
|
@{
|
||||||
Key = "$($registryHive):\SOFTWARE\Classes$($architectureSeparator)\Interface\{$interfaceId}\ProxyStubClsid"
|
Key = "$($registryHive):\SOFTWARE\Classes$($architectureNode)Interface\{$interfaceId}\ProxyStubClsid32"
|
||||||
Values = @(
|
Values = @(
|
||||||
@{
|
@{
|
||||||
Name = '(default)'
|
Name = '(default)'
|
||||||
Value = "{$proxyStubClsid}"
|
Value = "{$proxyStubClsid32}"
|
||||||
}
|
}
|
||||||
)
|
)
|
||||||
},
|
},
|
||||||
@{
|
@{
|
||||||
Key = "$($registryHive):\SOFTWARE\Classes$($architectureSeparator)\Interface\{$interfaceId}\ProxyStubClsid32"
|
Key = "$($registryHive):\SOFTWARE\Classes$($architectureNode)Interface\{$interfaceId}\TypeLib"
|
||||||
Values = @(
|
|
||||||
@{
|
|
||||||
Name = '(default)'
|
|
||||||
Value = "{$proxyStubClsid}"
|
|
||||||
}
|
|
||||||
)
|
|
||||||
},
|
|
||||||
@{
|
|
||||||
Key = "$($registryHive):\SOFTWARE\Classes$($architectureSeparator)\Interface\{$interfaceId}\TypeLib"
|
|
||||||
Values = @(
|
Values = @(
|
||||||
@{
|
@{
|
||||||
Name = '(default)'
|
Name = '(default)'
|
||||||
@ -256,7 +246,7 @@ $template.AddRange(
|
|||||||
)
|
)
|
||||||
},
|
},
|
||||||
@{
|
@{
|
||||||
Key = "$($registryHive):\SOFTWARE\Classes$($architectureSeparator)\Interface\{$eventInterfaceId}"
|
Key = "$($registryHive):\SOFTWARE\Classes$($architectureNode)Interface\{$eventInterfaceId}"
|
||||||
Values = @(
|
Values = @(
|
||||||
@{
|
@{
|
||||||
Name = '(default)'
|
Name = '(default)'
|
||||||
@ -265,16 +255,7 @@ $template.AddRange(
|
|||||||
)
|
)
|
||||||
},
|
},
|
||||||
@{
|
@{
|
||||||
Key = "$($registryHive):\SOFTWARE\Classes$($architectureSeparator)\Interface\{$eventInterfaceId}\ProxyStubClsid"
|
Key = "$($registryHive):\SOFTWARE\Classes$($architectureNode)Interface\{$eventInterfaceId}\ProxyStubClsid32"
|
||||||
Values = @(
|
|
||||||
@{
|
|
||||||
Name = '(default)'
|
|
||||||
Value = "{$proxyStubClsid}"
|
|
||||||
}
|
|
||||||
)
|
|
||||||
},
|
|
||||||
@{
|
|
||||||
Key = "$($registryHive):\SOFTWARE\Classes$($architectureSeparator)\Interface\{$eventInterfaceId}\ProxyStubClsid32"
|
|
||||||
Values = @(
|
Values = @(
|
||||||
@{
|
@{
|
||||||
Name = '(default)'
|
Name = '(default)'
|
||||||
@ -283,7 +264,7 @@ $template.AddRange(
|
|||||||
)
|
)
|
||||||
},
|
},
|
||||||
@{
|
@{
|
||||||
Key = "$($registryHive):\SOFTWARE\Classes$($architectureSeparator)\Interface\{$eventInterfaceId}\TypeLib"
|
Key = "$($registryHive):\SOFTWARE\Classes$($architectureNode)Interface\{$eventInterfaceId}\TypeLib"
|
||||||
Values = @(
|
Values = @(
|
||||||
@{
|
@{
|
||||||
Name = '(default)'
|
Name = '(default)'
|
||||||
@ -296,11 +277,10 @@ $template.AddRange(
|
|||||||
)
|
)
|
||||||
}
|
}
|
||||||
)
|
)
|
||||||
)
|
}
|
||||||
|
|
||||||
# Prog ID keys
|
function Get-ProgIdKeys {
|
||||||
$template.AddRange(
|
return @(
|
||||||
@(
|
|
||||||
@{
|
@{
|
||||||
Key = "$($registryHive):\SOFTWARE\Classes\$progId"
|
Key = "$($registryHive):\SOFTWARE\Classes\$progId"
|
||||||
Values = @(
|
Values = @(
|
||||||
@ -347,97 +327,407 @@ $template.AddRange(
|
|||||||
)
|
)
|
||||||
}
|
}
|
||||||
)
|
)
|
||||||
)
|
|
||||||
|
|
||||||
# TypeLib keys (add to both standard and Wow6432Node if architecture is x64)
|
|
||||||
if ($architectureSeparator -eq '\') {
|
|
||||||
$typeLibIterations = 1
|
|
||||||
} else {
|
|
||||||
$typeLibIterations = 2
|
|
||||||
}
|
|
||||||
for ($i = 0; $i -lt $typeLibIterations; $i++) {
|
|
||||||
if ($i -eq 1) {
|
|
||||||
$architectureSeparator = '\'
|
|
||||||
}
|
|
||||||
$template.AddRange(
|
|
||||||
@(
|
|
||||||
@{
|
|
||||||
Key = "$($registryHive):\SOFTWARE\Classes$($architectureSeparator)\TypeLib\{$typeLibId}"
|
|
||||||
Values = @()
|
|
||||||
},
|
|
||||||
@{
|
|
||||||
Key = "$($registryHive):\SOFTWARE\Classes$($architectureSeparator)\TypeLib\{$typeLibId}\$typeLibVersion"
|
|
||||||
Values = @(
|
|
||||||
@{
|
|
||||||
Name = '(default)'
|
|
||||||
Value = $typeLibLabel
|
|
||||||
}
|
|
||||||
)
|
|
||||||
},
|
|
||||||
@{
|
|
||||||
Key = "$($registryHive):\SOFTWARE\Classes$($architectureSeparator)\TypeLib\{$typeLibId}\$typeLibVersion\0"
|
|
||||||
Values = @()
|
|
||||||
},
|
|
||||||
@{
|
|
||||||
Key = "$($registryHive):\SOFTWARE\Classes$($architectureSeparator)\TypeLib\{$typeLibId}\$typeLibVersion\0\win32"
|
|
||||||
Values = @(
|
|
||||||
@{
|
|
||||||
Name = '(default)'
|
|
||||||
Value = $comServerNetworkPath
|
|
||||||
}
|
|
||||||
)
|
|
||||||
},
|
|
||||||
@{
|
|
||||||
Key = "$($registryHive):\SOFTWARE\Classes$($architectureSeparator)\TypeLib\{$typeLibId}\$typeLibVersion\FLAGS"
|
|
||||||
Values = @(
|
|
||||||
@{
|
|
||||||
Name = '(default)'
|
|
||||||
Value = '0'
|
|
||||||
}
|
|
||||||
)
|
|
||||||
},
|
|
||||||
@{
|
|
||||||
Key = "$($registryHive):\SOFTWARE\Classes$($architectureSeparator)\TypeLib\{$typeLibId}\$typeLibVersion\HELPDIR"
|
|
||||||
Values = @(
|
|
||||||
@{
|
|
||||||
Name = '(default)'
|
|
||||||
Value = "$comServerDir\"
|
|
||||||
}
|
|
||||||
)
|
|
||||||
}
|
|
||||||
)
|
|
||||||
)
|
|
||||||
}
|
}
|
||||||
|
|
||||||
function DoAction {
|
function Get-TypeLibKeys {
|
||||||
param(
|
param(
|
||||||
[Parameter(Mandatory=$true)]
|
[Parameter(Mandatory=$true)]
|
||||||
[array]
|
[string]
|
||||||
$template
|
$architectureNode
|
||||||
)
|
)
|
||||||
foreach ($keyEl in $template) {
|
return @(
|
||||||
if ($action -eq 'import') {
|
@{
|
||||||
#Write-Debug $keyEl.Key
|
Key = "$($registryHive):\SOFTWARE\Classes$($architectureNode)TypeLib\{$typeLibId}"
|
||||||
|
Values = @()
|
||||||
|
},
|
||||||
|
@{
|
||||||
|
Key = "$($registryHive):\SOFTWARE\Classes$($architectureNode)TypeLib\{$typeLibId}\$typeLibVersion"
|
||||||
|
Values = @(
|
||||||
|
@{
|
||||||
|
Name = '(default)'
|
||||||
|
Value = $typeLibLabel
|
||||||
|
}
|
||||||
|
)
|
||||||
|
},
|
||||||
|
@{
|
||||||
|
Key = "$($registryHive):\SOFTWARE\Classes$($architectureNode)TypeLib\{$typeLibId}\$typeLibVersion\0"
|
||||||
|
Values = @()
|
||||||
|
},
|
||||||
|
@{
|
||||||
|
Key = "$($registryHive):\SOFTWARE\Classes$($architectureNode)TypeLib\{$typeLibId}\$typeLibVersion\0\win32"
|
||||||
|
Values = @(
|
||||||
|
@{
|
||||||
|
Name = '(default)'
|
||||||
|
Value = $comServerNetworkPath
|
||||||
|
}
|
||||||
|
)
|
||||||
|
},
|
||||||
|
@{
|
||||||
|
Key = "$($registryHive):\SOFTWARE\Classes$($architectureNode)TypeLib\{$typeLibId}\$typeLibVersion\FLAGS"
|
||||||
|
Values = @(
|
||||||
|
@{
|
||||||
|
Name = '(default)'
|
||||||
|
Value = '0'
|
||||||
|
}
|
||||||
|
)
|
||||||
|
},
|
||||||
|
@{
|
||||||
|
Key = "$($registryHive):\SOFTWARE\Classes$($architectureNode)TypeLib\{$typeLibId}\$typeLibVersion\HELPDIR"
|
||||||
|
Values = @(
|
||||||
|
@{
|
||||||
|
Name = '(default)'
|
||||||
|
Value = "$comServerDir\"
|
||||||
|
}
|
||||||
|
)
|
||||||
|
}
|
||||||
|
)
|
||||||
|
}
|
||||||
|
|
||||||
|
# $template = New-Object System.Collections.Generic.List[System.Object];
|
||||||
|
|
||||||
|
# # CLSID keys
|
||||||
|
# $template.AddRange(
|
||||||
|
# @(
|
||||||
|
# @{
|
||||||
|
# Key = "$($registryHive):\SOFTWARE\Classes$($architectureNode)\CLSID\{$clsid}"
|
||||||
|
# Values = @(
|
||||||
|
# @{
|
||||||
|
# Name = '(default)'
|
||||||
|
# Value = $classLabel
|
||||||
|
# },
|
||||||
|
# @{
|
||||||
|
# Name = 'AppID'
|
||||||
|
# Value = "{$appId}"
|
||||||
|
# }
|
||||||
|
# )
|
||||||
|
# },
|
||||||
|
# @{
|
||||||
|
# Key = "$($registryHive):\SOFTWARE\Classes$($architectureNode)\CLSID\{$clsid}\LocalServer32"
|
||||||
|
# Values = @(
|
||||||
|
# @{
|
||||||
|
# Name = '(default)'
|
||||||
|
# Value = $comServerPath
|
||||||
|
# }
|
||||||
|
# )
|
||||||
|
# },
|
||||||
|
# @{
|
||||||
|
# Key = "$($registryHive):\SOFTWARE\Classes$($architectureNode)\CLSID\{$clsid}\ProgID"
|
||||||
|
# Values = @(
|
||||||
|
# @{
|
||||||
|
# Name = '(default)'
|
||||||
|
# Value = $progId
|
||||||
|
# }
|
||||||
|
# )
|
||||||
|
# },
|
||||||
|
# @{
|
||||||
|
# Key = "$($registryHive):\SOFTWARE\Classes$($architectureNode)\CLSID\{$clsid}\Programmable"
|
||||||
|
# Values = @()
|
||||||
|
# },
|
||||||
|
# @{
|
||||||
|
# Key = "$($registryHive):\SOFTWARE\Classes$($architectureNode)\CLSID\{$clsid}\TypeLib"
|
||||||
|
# Values = @(
|
||||||
|
# @{
|
||||||
|
# Name = '(default)'
|
||||||
|
# Value = $typeLibId
|
||||||
|
# }
|
||||||
|
# )
|
||||||
|
# },
|
||||||
|
# @{
|
||||||
|
# Key = "$($registryHive):\SOFTWARE\Classes$($architectureNode)\CLSID\{$clsid}\VersionIndependentProgID"
|
||||||
|
# Values = @()
|
||||||
|
# }
|
||||||
|
# )
|
||||||
|
# );
|
||||||
|
|
||||||
|
# # Interface keys
|
||||||
|
# $template.AddRange(
|
||||||
|
# @(
|
||||||
|
# @{
|
||||||
|
# Key = "$($registryHive):\SOFTWARE\Classes$($architectureNode)\Interface\{$interfaceId}"
|
||||||
|
# Values = @(
|
||||||
|
# @{
|
||||||
|
# Name = '(default)'
|
||||||
|
# Value = $interfaceName
|
||||||
|
# }
|
||||||
|
# )
|
||||||
|
# },
|
||||||
|
# @{
|
||||||
|
# Key = "$($registryHive):\SOFTWARE\Classes$($architectureNode)\Interface\{$interfaceId}\ProxyStubClsid"
|
||||||
|
# Values = @(
|
||||||
|
# @{
|
||||||
|
# Name = '(default)'
|
||||||
|
# Value = "{$proxyStubClsid}"
|
||||||
|
# }
|
||||||
|
# )
|
||||||
|
# },
|
||||||
|
# @{
|
||||||
|
# Key = "$($registryHive):\SOFTWARE\Classes$($architectureNode)\Interface\{$interfaceId}\ProxyStubClsid32"
|
||||||
|
# Values = @(
|
||||||
|
# @{
|
||||||
|
# Name = '(default)'
|
||||||
|
# Value = "{$proxyStubClsid}"
|
||||||
|
# }
|
||||||
|
# )
|
||||||
|
# },
|
||||||
|
# @{
|
||||||
|
# Key = "$($registryHive):\SOFTWARE\Classes$($architectureNode)\Interface\{$interfaceId}\TypeLib"
|
||||||
|
# Values = @(
|
||||||
|
# @{
|
||||||
|
# Name = '(default)'
|
||||||
|
# Value = "{$typeLibId}"
|
||||||
|
# },
|
||||||
|
# @{
|
||||||
|
# Name = 'Version'
|
||||||
|
# Value = $typeLibVersion }
|
||||||
|
# )
|
||||||
|
# },
|
||||||
|
# @{
|
||||||
|
# Key = "$($registryHive):\SOFTWARE\Classes$($architectureNode)\Interface\{$eventInterfaceId}"
|
||||||
|
# Values = @(
|
||||||
|
# @{
|
||||||
|
# Name = '(default)'
|
||||||
|
# Value = $eventInterfaceName
|
||||||
|
# }
|
||||||
|
# )
|
||||||
|
# },
|
||||||
|
# @{
|
||||||
|
# Key = "$($registryHive):\SOFTWARE\Classes$($architectureNode)\Interface\{$eventInterfaceId}\ProxyStubClsid"
|
||||||
|
# Values = @(
|
||||||
|
# @{
|
||||||
|
# Name = '(default)'
|
||||||
|
# Value = "{$proxyStubClsid}"
|
||||||
|
# }
|
||||||
|
# )
|
||||||
|
# },
|
||||||
|
# @{
|
||||||
|
# Key = "$($registryHive):\SOFTWARE\Classes$($architectureNode)\Interface\{$eventInterfaceId}\ProxyStubClsid32"
|
||||||
|
# Values = @(
|
||||||
|
# @{
|
||||||
|
# Name = '(default)'
|
||||||
|
# Value = "{$proxyStubClsid32}"
|
||||||
|
# }
|
||||||
|
# )
|
||||||
|
# },
|
||||||
|
# @{
|
||||||
|
# Key = "$($registryHive):\SOFTWARE\Classes$($architectureNode)\Interface\{$eventInterfaceId}\TypeLib"
|
||||||
|
# Values = @(
|
||||||
|
# @{
|
||||||
|
# Name = '(default)'
|
||||||
|
# Value = "{$typeLibId}"
|
||||||
|
# }
|
||||||
|
# @{
|
||||||
|
# Name = 'Version'
|
||||||
|
# Value = $typeLibVersion
|
||||||
|
# }
|
||||||
|
# )
|
||||||
|
# }
|
||||||
|
# )
|
||||||
|
# )
|
||||||
|
|
||||||
|
# # Prog ID keys
|
||||||
|
# $template.AddRange(
|
||||||
|
# @(
|
||||||
|
# @{
|
||||||
|
# Key = "$($registryHive):\SOFTWARE\Classes\$progId"
|
||||||
|
# Values = @(
|
||||||
|
# @{
|
||||||
|
# Name = '(default)'
|
||||||
|
# Value = $classLabel
|
||||||
|
# }
|
||||||
|
# )
|
||||||
|
# },
|
||||||
|
# @{
|
||||||
|
# Key = "$($registryHive):\SOFTWARE\Classes\$progId\CLSID"
|
||||||
|
# Values = @(
|
||||||
|
# @{
|
||||||
|
# Name = '(default)'
|
||||||
|
# Value = "{$clsid}"
|
||||||
|
# }
|
||||||
|
# )
|
||||||
|
# },
|
||||||
|
# @{
|
||||||
|
# Key = "$($registryHive):\SOFTWARE\Classes\$progId\CurVer"
|
||||||
|
# Values = @(
|
||||||
|
# @{
|
||||||
|
# Name = '(default)'
|
||||||
|
# Value = $versionIndependentProgId
|
||||||
|
# }
|
||||||
|
# )
|
||||||
|
# },
|
||||||
|
# @{
|
||||||
|
# Key = "$($registryHive):\SOFTWARE\Classes\$versionIndependentProgId"
|
||||||
|
# Values = @(
|
||||||
|
# @{
|
||||||
|
# Name = '(default)'
|
||||||
|
# Value = $classLabel
|
||||||
|
# }
|
||||||
|
# )
|
||||||
|
# },
|
||||||
|
# @{
|
||||||
|
# Key = "$($registryHive):\SOFTWARE\Classes\$versionIndependentProgId\CLSID"
|
||||||
|
# Values = @(
|
||||||
|
# @{
|
||||||
|
# Name = '(default)'
|
||||||
|
# Value = "{$clsid}"
|
||||||
|
# }
|
||||||
|
# )
|
||||||
|
# }
|
||||||
|
# )
|
||||||
|
# )
|
||||||
|
|
||||||
|
# # TypeLib keys (add to both standard and Wow6432Node if architecture is x64)
|
||||||
|
# if ($architectureNode -eq '\') {
|
||||||
|
# $typeLibIterations = 1
|
||||||
|
# } else {
|
||||||
|
# $typeLibIterations = 2
|
||||||
|
# }
|
||||||
|
# for ($i = 0; $i -lt $typeLibIterations; $i++) {
|
||||||
|
# if ($i -eq 1) {
|
||||||
|
# $architectureNode = '\'
|
||||||
|
# }
|
||||||
|
# $template.AddRange(
|
||||||
|
# @(
|
||||||
|
# @{
|
||||||
|
# Key = "$($registryHive):\SOFTWARE\Classes$($architectureNode)\TypeLib\{$typeLibId}"
|
||||||
|
# Values = @()
|
||||||
|
# },
|
||||||
|
# @{
|
||||||
|
# Key = "$($registryHive):\SOFTWARE\Classes$($architectureNode)\TypeLib\{$typeLibId}\$typeLibVersion"
|
||||||
|
# Values = @(
|
||||||
|
# @{
|
||||||
|
# Name = '(default)'
|
||||||
|
# Value = $typeLibLabel
|
||||||
|
# }
|
||||||
|
# )
|
||||||
|
# },
|
||||||
|
# @{
|
||||||
|
# Key = "$($registryHive):\SOFTWARE\Classes$($architectureNode)\TypeLib\{$typeLibId}\$typeLibVersion\0"
|
||||||
|
# Values = @()
|
||||||
|
# },
|
||||||
|
# @{
|
||||||
|
# Key = "$($registryHive):\SOFTWARE\Classes$($architectureNode)\TypeLib\{$typeLibId}\$typeLibVersion\0\win32"
|
||||||
|
# Values = @(
|
||||||
|
# @{
|
||||||
|
# Name = '(default)'
|
||||||
|
# Value = $comServerNetworkPath
|
||||||
|
# }
|
||||||
|
# )
|
||||||
|
# },
|
||||||
|
# @{
|
||||||
|
# Key = "$($registryHive):\SOFTWARE\Classes$($architectureNode)\TypeLib\{$typeLibId}\$typeLibVersion\FLAGS"
|
||||||
|
# Values = @(
|
||||||
|
# @{
|
||||||
|
# Name = '(default)'
|
||||||
|
# Value = '0'
|
||||||
|
# }
|
||||||
|
# )
|
||||||
|
# },
|
||||||
|
# @{
|
||||||
|
# Key = "$($registryHive):\SOFTWARE\Classes$($architectureNode)\TypeLib\{$typeLibId}\$typeLibVersion\HELPDIR"
|
||||||
|
# Values = @(
|
||||||
|
# @{
|
||||||
|
# Name = '(default)'
|
||||||
|
# Value = "$comServerDir\"
|
||||||
|
# }
|
||||||
|
# )
|
||||||
|
# }
|
||||||
|
# )
|
||||||
|
# )
|
||||||
|
# }
|
||||||
|
|
||||||
|
function Get-Keys {
|
||||||
|
param(
|
||||||
|
[Parameter(Mandatory=$false)]
|
||||||
|
[switch]
|
||||||
|
$bothArchitectures = $false
|
||||||
|
)
|
||||||
|
|
||||||
|
if ($env:PROCESSOR_ARCHITECTURE -eq 'AMD64') {
|
||||||
|
$wow6432Node = '\Wow6432Node\'
|
||||||
|
} else {
|
||||||
|
$wow6432Node = '\'
|
||||||
|
}
|
||||||
|
|
||||||
|
$keys = New-Object System.Collections.Generic.List[System.Object]
|
||||||
|
$keys.AddRange((Get-ProgIdKeys))
|
||||||
|
$keys.AddRange((Get-ClsidKeys -architectureNode $wow6432Node))
|
||||||
|
$keys.AddRange((Get-InterfaceKeys -architectureNode $wow6432Node))
|
||||||
|
$keys.AddRange((Get-TypeLibKeys -architectureNode $wow6432Node))
|
||||||
|
if ($wow6432Node -ne '\') {
|
||||||
|
if ($bothArchitectures) {
|
||||||
|
$keys.AddRange((Get-ClsidKeys -architectureNode $wow6432Node))
|
||||||
|
}
|
||||||
|
$keys.AddRange((Get-InterfaceKeys -architectureNode '\'))
|
||||||
|
$keys.AddRange((Get-TypeLibKeys -architectureNode '\'))
|
||||||
|
}
|
||||||
|
return $keys
|
||||||
|
}
|
||||||
|
|
||||||
|
switch ($action) {
|
||||||
|
'delete' {
|
||||||
|
$keys = Get-Keys -bothArchitectures
|
||||||
|
foreach ($key in $keys) {
|
||||||
try {
|
try {
|
||||||
$key = New-Item -Path $keyEl.Key -Force
|
Write-Debug "Deleting key: $($key.Key)"
|
||||||
Write-Host "Created registry key: $($key.PSPath)"
|
# Remove-Item -Path $key.Key -Recurse -Force
|
||||||
|
# Write-Host "Deleted registry key: $($key.Key)"
|
||||||
}
|
}
|
||||||
catch {
|
catch {
|
||||||
Write-Error "Failed to create registry key: $($keyEl.Key)"
|
Write-Error "Failed to delete key: $($key.Key)"
|
||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
foreach ($valueEl in $keyEl.Values) {
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
'import' {
|
||||||
|
$keys = Get-Keys
|
||||||
|
foreach ($key in $keys) {
|
||||||
|
try {
|
||||||
|
Write-Debug "Importing key: $($key.Key)"
|
||||||
|
# $newKey = New-Item -Path $keyEl.Key -Force
|
||||||
|
# Write-Host "Created registry key: $($newKey.PSPath)"
|
||||||
|
}
|
||||||
|
catch {
|
||||||
|
Write-Error "Failed to create key: $($key.Key)"
|
||||||
|
continue
|
||||||
|
}
|
||||||
|
foreach ($value in $key.Values) {
|
||||||
try {
|
try {
|
||||||
New-ItemProperty -Path $keyEl.Key -Name $valueEl.Name -Value $valueEl.Value -PropertyType 'String' -Force
|
Write-Debug "Importing value: $($value.Name):$($value.Value)"
|
||||||
Write-Host "Created registry value: $($valueEl.Name) in $($keyEl.Key)"
|
#New-ItemProperty -Path $key.Key -Name $value.Name -Value $value.Value -PropertyType 'String' -Force
|
||||||
|
#Write-Host "Created registry value: $($value.Name) in $($key.Key)"
|
||||||
}
|
}
|
||||||
catch {
|
catch {
|
||||||
Write-Error "Failed to create registry value: $($valueEl.Name) in $($keyEl.Key)"
|
Write-Error "Failed to create registry value: $($value.Name) in $($key.Key)"
|
||||||
|
continue
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
default {
|
||||||
|
$keys = Get-Keys -bothArchitectures
|
||||||
|
foreach ($key in $keys) {
|
||||||
|
try {
|
||||||
|
Write-Debug "Querying key: $($key.Key)"
|
||||||
|
# $key = Get-Item -Path $keyEl.Key -ErrorAction Stop
|
||||||
|
$foundKey = Get-Item -Path $key.Key -ErrorAction Stop
|
||||||
|
Write-Host "[$($foundKey.Key)]"
|
||||||
|
}
|
||||||
|
catch {
|
||||||
|
Write-Debug "Failed to find registry key: $($key.Key)"
|
||||||
|
continue
|
||||||
|
}
|
||||||
|
foreach ($value in $foundKey.Values) {
|
||||||
|
try {
|
||||||
|
# $foundValue = Get-ItemPropertyValue -Path $key.Key -Name $value.Name -ErrorAction Stop
|
||||||
|
#$foundValue = Get-ItemPropertyValue -Path $key.Key -Name $value.Name -ErrorAction Stop
|
||||||
|
Write-Host "$($foundValue.Name)=$($foundValue.Value)"
|
||||||
|
}
|
||||||
|
catch {
|
||||||
|
Write-Debug "Failed to find registry value: $($valueEl.Name) in $($key.Key)"
|
||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
DoAction $template
|
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user