Last active
October 5, 2024 13:24
-
-
Save MyITGuy/cabf87dff762fc296e81 to your computer and use it in GitHub Desktop.
A WMI registry call through VBScript using the StdRegProv class with no architecture specified (GetStringValue)
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Const HKEY_LOCAL_MACHINE = &H80000002, HKLM = &H80000002 | |
WScript.Echo GetDWordValue (".", HKEY_LOCAL_MACHINE, "SOFTWARE\Altiris\Client Service", "UserInfoInterval", 32) | |
WScript.Echo GetDWordValue (".", HKEY_LOCAL_MACHINE, "SOFTWARE\Altiris\Client Service", "UserInfoInterval", 64) | |
Function GetDWordValue (ByVal Resource, ByVal hDefKey, ByVal SubKeyName, ByVal ValueName, ByVal Architecture) | |
Const wbemAuthenticationLevelPktPrivacy = 6 | |
Const wbemImpersonationLevelImpersonate = 3 | |
Dim oCtx: Set oCtx = CreateObject("WbemScripting.SWbemNamedValueSet") | |
oCtx.Add "__ProviderArchitecture", Architecture | |
oCtx.Add "__RequiredArchitecture", True | |
Dim oLocator: Set oLocator = CreateObject("Wbemscripting.SWbemLocator") | |
oLocator.Security_.ImpersonationLevel = wbemImpersonationLevelImpersonate | |
oLocator.Security_.AuthenticationLevel = wbemAuthenticationLevelPktPrivacy | |
Dim oReg: Set oReg = oLocator.ConnectServer(Resource, "root\default", "", "", , , , oCtx).Get("StdRegProv") | |
Dim oInParams: Set oInParams = oReg.Methods_("GetDWORDValue").InParameters | |
oInParams.hDefKey = hDefKey | |
oInParams.sSubKeyName = SubKeyName | |
oInParams.sValueName = ValueName | |
Dim oOutParams: Set oOutParams = oReg.ExecMethod_("GetDWORDValue", oInParams, , oCtx) | |
GetDWordValue = oOutParams.uValue | |
End Function |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Const HKEY_LOCAL_MACHINE = &H80000002, HKLM = &H80000002 | |
WScript.Echo GetStringValue (".", HKEY_LOCAL_MACHINE, "SOFTWARE\Altiris\Client Service", "InstallDir", 32) | |
WScript.Echo GetStringValue (".", HKEY_LOCAL_MACHINE, "SOFTWARE\Altiris\Client Service", "InstallDir", 64) | |
Function GetStringValue (ByVal Resource, ByVal hDefKey, ByVal SubKeyName, ByVal ValueName, ByVal Architecture) | |
Const wbemAuthenticationLevelPktPrivacy = 6 | |
Const wbemImpersonationLevelImpersonate = 3 | |
Dim oCtx: Set oCtx = CreateObject("WbemScripting.SWbemNamedValueSet") | |
oCtx.Add "__ProviderArchitecture", Architecture | |
oCtx.Add "__RequiredArchitecture", True | |
Dim oLocator: Set oLocator = CreateObject("Wbemscripting.SWbemLocator") | |
oLocator.Security_.ImpersonationLevel = wbemImpersonationLevelImpersonate | |
oLocator.Security_.AuthenticationLevel = wbemAuthenticationLevelPktPrivacy | |
Dim oReg: Set oReg = oLocator.ConnectServer(Resource, "root\default", "", "", , , , oCtx).Get("StdRegProv") | |
Dim oInParams: Set oInParams = oReg.Methods_("GetStringValue").InParameters | |
oInParams.hDefKey = hDefKey | |
oInParams.sSubKeyName = SubKeyName | |
oInParams.sValueName = ValueName | |
Dim oOutParams: Set oOutParams = oReg.ExecMethod_("GetStringValue", oInParams, , oCtx) | |
GetStringValue = oOutParams.sValue | |
End Function |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Const HKEY_LOCAL_MACHINE = &H80000002, HKLM = &H80000002 | |
WScript.Echo SetStringValue (".", HKEY_LOCAL_MACHINE, "SOFTWARE\Altiris\Client Service", "InstallDir", 0, 32) | |
WScript.Echo SetStringValue (".", HKEY_LOCAL_MACHINE, "SOFTWARE\Altiris\Client Service", "InstallDir", 0, 64) | |
Function SetDWordValue (ByVal Resource, ByVal hDefKey, ByVal SubKeyName, ByVal ValueName, ByVal Value, ByVal Architecture) | |
Const wbemAuthenticationLevelPktPrivacy = 6 | |
Const wbemImpersonationLevelImpersonate = 3 | |
Dim oCtx: Set oCtx = CreateObject("WbemScripting.SWbemNamedValueSet") | |
oCtx.Add "__ProviderArchitecture", Architecture | |
oCtx.Add "__RequiredArchitecture", True | |
Dim oLocator: Set oLocator = CreateObject("Wbemscripting.SWbemLocator") | |
oLocator.Security_.ImpersonationLevel = wbemImpersonationLevelImpersonate | |
oLocator.Security_.AuthenticationLevel = wbemAuthenticationLevelPktPrivacy | |
Dim oReg: Set oReg = oLocator.ConnectServer(Resource, "root\default", "", "", , , , oCtx).Get("StdRegProv") | |
Dim oInParams: Set oInParams = oReg.Methods_("SetDWordValue").InParameters | |
oInParams.hDefKey = hDefKey | |
oInParams.sSubKeyName = SubKeyName | |
oInParams.sValueName = ValueName | |
oInParams.uValue = Value | |
Dim oOutParams: Set oOutParams = oReg.ExecMethod_("SetDWordValue", oInParams, , oCtx) | |
SetDWordValue = oOutParams.ReturnValue | |
End Function |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Function KeyExists(ByVal Resource, ByVal hDefKey, ByVal sSubKeyName, ByVal ProviderArchitecture) | |
Const wbemAuthenticationLevelPktPrivacy = 6 | |
Const wbemImpersonationLevelImpersonate = 3 | |
Dim oCtx: Set oCtx = CreateObject("WbemScripting.SWbemNamedValueSet") | |
oCtx.Add "__ProviderArchitecture", ProviderArchitecture | |
oCtx.Add "__RequiredArchitecture", True | |
Dim oLocator: Set oLocator = CreateObject("Wbemscripting.SWbemLocator") | |
oLocator.Security_.ImpersonationLevel = wbemImpersonationLevelImpersonate | |
oLocator.Security_.AuthenticationLevel = wbemAuthenticationLevelPktPrivacy | |
Dim oReg: Set oReg = oLocator.ConnectServer(Resource, "root\default", "", "", , , , oCtx).Get("StdRegProv") | |
Dim oInParams: Set oInParams = oReg.Methods_("EnumKey").InParameters | |
oInParams.hDefKey = hDefKey | |
oInParams.sSubKeyName = sSubKeyName | |
Dim oOutParams: Set oOutParams = oReg.ExecMethod_("EnumKey", oInParams, , oCtx) | |
If oOutParams.ReturnValue = 0 Then | |
KeyExists = 1 | |
Else | |
KeyExists = 0 | |
End If | |
End Function | |
Function KeyEmpty(ByVal Resource, ByVal hDefKey, ByVal sSubKeyName, ByVal ProviderArchitecture) | |
Const wbemAuthenticationLevelPktPrivacy = 6 | |
Const wbemImpersonationLevelImpersonate = 3 | |
Dim oCtx: Set oCtx = CreateObject("WbemScripting.SWbemNamedValueSet") | |
oCtx.Add "__ProviderArchitecture", ProviderArchitecture | |
oCtx.Add "__RequiredArchitecture", True | |
Dim oLocator: Set oLocator = CreateObject("Wbemscripting.SWbemLocator") | |
oLocator.Security_.ImpersonationLevel = wbemImpersonationLevelImpersonate | |
oLocator.Security_.AuthenticationLevel = wbemAuthenticationLevelPktPrivacy | |
Dim oReg: Set oReg = oLocator.ConnectServer(Resource, "root\default", "", "", , , , oCtx).Get("StdRegProv") | |
Dim subitemCount: subitemCount = 0 | |
Dim sValueName: sValueName = "" | |
Dim oInParams, oOutParams | |
' EnumKey (no subkeys) | |
Set oInParams = oReg.Methods_("EnumKey").InParameters | |
oInParams.hDefKey = hDefKey | |
oInParams.sSubKeyName = sSubKeyName | |
Set oOutParams = oReg.ExecMethod_("EnumKey", oInParams, , oCtx) | |
If oOutParams.ReturnValue = 0 Then | |
If Not IsNull(oOutParams.sNames) Then | |
subitemCount = subitemCount + UBound(oOutParams.sNames) + 1 | |
End If | |
End If | |
' EnumValues (no values) | |
Set oInParams = oReg.Methods_("EnumValues").InParameters | |
oInParams.hDefKey = hDefKey | |
oInParams.sSubKeyName = sSubKeyName | |
Set oOutParams = oReg.ExecMethod_("EnumValues", oInParams, , oCtx) | |
If oOutParams.ReturnValue = 0 Then | |
If Not IsNull(oOutParams.sNames) Then | |
subitemCount = subitemCount + UBound(oOutParams.sNames) + 1 | |
End If | |
End If | |
' GetStringValue (no default value) | |
Set oInParams = oReg.Methods_("GetStringValue").InParameters | |
oInParams.hDefKey = hDefKey | |
oInParams.sSubKeyName = sSubKeyName | |
oInParams.sValueName = sValueName | |
Set oOutParams = oReg.ExecMethod_("GetStringValue", oInParams, , oCtx) | |
If oOutParams.ReturnValue = 0 Then | |
If Not IsNull(oOutParams.sValue) Then | |
subitemCount = subitemCount + 1 | |
End If | |
End If | |
if subitemCount = 0 Then | |
KeyEmpty = 1 | |
Else | |
KeyEmpty = 0 | |
End If | |
End Function | |
Function GetDWordValue (ByVal Resource, ByVal hDefKey, ByVal sSubKeyName, ByVal sValueName, ByVal ProviderArchitecture) | |
Const wbemAuthenticationLevelPktPrivacy = 6 | |
Const wbemImpersonationLevelImpersonate = 3 | |
Dim oCtx: Set oCtx = CreateObject("WbemScripting.SWbemNamedValueSet") | |
oCtx.Add "__ProviderArchitecture", ProviderArchitecture | |
oCtx.Add "__RequiredArchitecture", True | |
Dim oLocator: Set oLocator = CreateObject("Wbemscripting.SWbemLocator") | |
oLocator.Security_.ImpersonationLevel = wbemImpersonationLevelImpersonate | |
oLocator.Security_.AuthenticationLevel = wbemAuthenticationLevelPktPrivacy | |
Dim oReg: Set oReg = oLocator.ConnectServer(Resource, "root\default", "", "", , , , oCtx).Get("StdRegProv") | |
Dim oInParams: Set oInParams = oReg.Methods_("GetDWORDValue").InParameters | |
oInParams.hDefKey = hDefKey | |
oInParams.sSubKeyName = sSubKeyName | |
oInParams.sValueName = sValueName | |
Dim oOutParams: Set oOutParams = oReg.ExecMethod_("GetDWORDValue", oInParams, , oCtx) | |
If oOutParams.ReturnValue = 0 Then GetDWordValue = oOutParams.uValue | |
End Function | |
Function GetStringValue (ByVal Resource, ByVal hDefKey, ByVal sSubKeyName, ByVal sValueName, ByVal ProviderArchitecture) | |
Const wbemAuthenticationLevelPktPrivacy = 6 | |
Const wbemImpersonationLevelImpersonate = 3 | |
Dim oCtx: Set oCtx = CreateObject("WbemScripting.SWbemNamedValueSet") | |
oCtx.Add "__ProviderArchitecture", ProviderArchitecture | |
oCtx.Add "__RequiredArchitecture", True | |
Dim oLocator: Set oLocator = CreateObject("Wbemscripting.SWbemLocator") | |
oLocator.Security_.ImpersonationLevel = wbemImpersonationLevelImpersonate | |
oLocator.Security_.AuthenticationLevel = wbemAuthenticationLevelPktPrivacy | |
Dim oReg: Set oReg = oLocator.ConnectServer(Resource, "root\default", "", "", , , , oCtx).Get("StdRegProv") | |
Dim oInParams: Set oInParams = oReg.Methods_("GetStringValue").InParameters | |
oInParams.hDefKey = hDefKey | |
oInParams.sSubKeyName = sSubKeyName | |
oInParams.sValueName = sValueName | |
Dim oOutParams: Set oOutParams = oReg.ExecMethod_("GetStringValue", oInParams, , oCtx) | |
If oOutParams.ReturnValue = 0 Then GetStringValue = oOutParams.sValue | |
End Function | |
Function SetDWordValue (ByVal Resource, ByVal hDefKey, ByVal sSubKeyName, ByVal sValueName, ByVal uValue, ByVal ProviderArchitecture) | |
Const wbemAuthenticationLevelPktPrivacy = 6 | |
Const wbemImpersonationLevelImpersonate = 3 | |
Dim oCtx: Set oCtx = CreateObject("WbemScripting.SWbemNamedValueSet") | |
oCtx.Add "__ProviderArchitecture", ProviderArchitecture | |
oCtx.Add "__RequiredArchitecture", True | |
Dim oLocator: Set oLocator = CreateObject("Wbemscripting.SWbemLocator") | |
oLocator.Security_.ImpersonationLevel = wbemImpersonationLevelImpersonate | |
oLocator.Security_.AuthenticationLevel = wbemAuthenticationLevelPktPrivacy | |
Dim oReg: Set oReg = oLocator.ConnectServer(Resource, "root\default", "", "", , , , oCtx).Get("StdRegProv") | |
Dim oInParams: Set oInParams = oReg.Methods_("SetDWordValue").InParameters | |
oInParams.hDefKey = hDefKey | |
oInParams.sSubKeyName = sSubKeyName | |
oInParams.sValueName = sValueName | |
oInParams.uValue = uValue | |
Dim oOutParams: Set oOutParams = oReg.ExecMethod_("SetDWordValue", oInParams, , oCtx) | |
SetDWordValue = oOutParams.ReturnValue | |
End Function | |
Function SetStringValue (ByVal Resource, ByVal hDefKey, ByVal sSubKeyName, ByVal sValueName, ByVal sValue, ByVal ProviderArchitecture) | |
Const wbemAuthenticationLevelPktPrivacy = 6 | |
Const wbemImpersonationLevelImpersonate = 3 | |
Dim oCtx: Set oCtx = CreateObject("WbemScripting.SWbemNamedValueSet") | |
oCtx.Add "__ProviderArchitecture", ProviderArchitecture | |
oCtx.Add "__RequiredArchitecture", True | |
Dim oLocator: Set oLocator = CreateObject("Wbemscripting.SWbemLocator") | |
oLocator.Security_.ImpersonationLevel = wbemImpersonationLevelImpersonate | |
oLocator.Security_.AuthenticationLevel = wbemAuthenticationLevelPktPrivacy | |
Dim oReg: Set oReg = oLocator.ConnectServer(Resource, "root\default", "", "", , , , oCtx).Get("StdRegProv") | |
Dim oInParams: Set oInParams = oReg.Methods_("SetStringValue").InParameters | |
oInParams.hDefKey = hDefKey | |
oInParams.sSubKeyName = sSubKeyName | |
oInParams.sValueName = sValueName | |
oInParams.sValue = sValue | |
Dim oOutParams: Set oOutParams = oReg.ExecMethod_("SetStringValue", oInParams, , oCtx) | |
SetStringValue = oOutParams.ReturnValue | |
End Function | |
Function SetMultiStringValue (ByVal Resource, ByVal hDefKey, ByVal sSubKeyName, ByVal sValueName, ByVal sValue, ByVal ProviderArchitecture) | |
Const wbemAuthenticationLevelPktPrivacy = 6 | |
Const wbemImpersonationLevelImpersonate = 3 | |
Dim oCtx: Set oCtx = CreateObject("WbemScripting.SWbemNamedValueSet") | |
oCtx.Add "__ProviderArchitecture", ProviderArchitecture | |
oCtx.Add "__RequiredArchitecture", True | |
Dim oLocator: Set oLocator = CreateObject("Wbemscripting.SWbemLocator") | |
oLocator.Security_.ImpersonationLevel = wbemImpersonationLevelImpersonate | |
oLocator.Security_.AuthenticationLevel = wbemAuthenticationLevelPktPrivacy | |
Dim oReg: Set oReg = oLocator.ConnectServer(Resource, "root\default", "", "", , , , oCtx).Get("StdRegProv") | |
Dim oInParams: Set oInParams = oReg.Methods_("SetMultiStringValue").InParameters | |
oInParams.hDefKey = hDefKey | |
oInParams.sSubKeyName = sSubKeyName | |
oInParams.sValueName = sValueName | |
oInParams.sValue = sValue | |
Dim oOutParams: Set oOutParams = oReg.ExecMethod_("SetMultiStringValue", oInParams, , oCtx) | |
SetMultiStringValue = oOutParams.ReturnValue | |
End Function | |
Function CreateKey (ByVal Resource, ByVal hDefKey, ByVal sSubKeyName, ByVal ProviderArchitecture) | |
Const wbemAuthenticationLevelPktPrivacy = 6 | |
Const wbemImpersonationLevelImpersonate = 3 | |
Dim oCtx: Set oCtx = CreateObject("WbemScripting.SWbemNamedValueSet") | |
oCtx.Add "__ProviderArchitecture", ProviderArchitecture | |
oCtx.Add "__RequiredArchitecture", True | |
Dim oLocator: Set oLocator = CreateObject("Wbemscripting.SWbemLocator") | |
oLocator.Security_.ImpersonationLevel = wbemImpersonationLevelImpersonate | |
oLocator.Security_.AuthenticationLevel = wbemAuthenticationLevelPktPrivacy | |
Dim oReg: Set oReg = oLocator.ConnectServer(Resource, "root\default", "", "", , , , oCtx).Get("StdRegProv") | |
Dim oInParams: Set oInParams = oReg.Methods_("CreateKey").InParameters | |
oInParams.hDefKey = hDefKey | |
oInParams.sSubKeyName = sSubKeyName | |
Dim oOutParams: Set oOutParams = oReg.ExecMethod_("CreateKey", oInParams, , oCtx) | |
CreateKey = oOutParams.ReturnValue | |
End Function | |
Function DeleteValue (ByVal Resource, ByVal hDefKey, ByVal sSubKeyName, ByVal sValueName, ByVal ProviderArchitecture) | |
Const wbemAuthenticationLevelPktPrivacy = 6 | |
Const wbemImpersonationLevelImpersonate = 3 | |
Dim oCtx: Set oCtx = CreateObject("WbemScripting.SWbemNamedValueSet") | |
oCtx.Add "__ProviderArchitecture", ProviderArchitecture | |
oCtx.Add "__RequiredArchitecture", True | |
Dim oLocator: Set oLocator = CreateObject("Wbemscripting.SWbemLocator") | |
oLocator.Security_.ImpersonationLevel = wbemImpersonationLevelImpersonate | |
oLocator.Security_.AuthenticationLevel = wbemAuthenticationLevelPktPrivacy | |
Dim oReg: Set oReg = oLocator.ConnectServer(Resource, "root\default", "", "", , , , oCtx).Get("StdRegProv") | |
Dim oInParams: Set oInParams = oReg.Methods_("DeleteValue").InParameters | |
oInParams.hDefKey = hDefKey | |
oInParams.sSubKeyName = sSubKeyName | |
oInParams.sValueName = sValueName | |
Dim oOutParams: Set oOutParams = oReg.ExecMethod_("DeleteValue", oInParams, , oCtx) | |
DeleteValue = oOutParams.ReturnValue | |
End Function | |
Function DeleteKey (ByVal Resource, ByVal hDefKey, ByVal sSubKeyName, ByVal ProviderArchitecture) | |
Const wbemAuthenticationLevelPktPrivacy = 6 | |
Const wbemImpersonationLevelImpersonate = 3 | |
Dim oCtx: Set oCtx = CreateObject("WbemScripting.SWbemNamedValueSet") | |
oCtx.Add "__ProviderArchitecture", ProviderArchitecture | |
oCtx.Add "__RequiredArchitecture", True | |
Dim oLocator: Set oLocator = CreateObject("Wbemscripting.SWbemLocator") | |
oLocator.Security_.ImpersonationLevel = wbemImpersonationLevelImpersonate | |
oLocator.Security_.AuthenticationLevel = wbemAuthenticationLevelPktPrivacy | |
Dim oReg: Set oReg = oLocator.ConnectServer(Resource, "root\default", "", "", , , , oCtx).Get("StdRegProv") | |
Dim oInParams: Set oInParams = oReg.Methods_("DeleteKey").InParameters | |
oInParams.hDefKey = hDefKey | |
oInParams.sSubKeyName = sSubKeyName | |
Dim oOutParams: Set oOutParams = oReg.ExecMethod_("DeleteKey", oInParams, , oCtx) | |
DeleteKey = oOutParams.ReturnValue | |
End Function | |
Function EnumValues (ByVal Resource, ByVal hDefKey, ByVal sSubKeyName, ByVal ProviderArchitecture) | |
Const wbemAuthenticationLevelPktPrivacy = 6 | |
Const wbemImpersonationLevelImpersonate = 3 | |
Dim oCtx: Set oCtx = CreateObject("WbemScripting.SWbemNamedValueSet") | |
oCtx.Add "__ProviderArchitecture", ProviderArchitecture | |
oCtx.Add "__RequiredArchitecture", True | |
Dim oLocator: Set oLocator = CreateObject("Wbemscripting.SWbemLocator") | |
oLocator.Security_.ImpersonationLevel = wbemImpersonationLevelImpersonate | |
oLocator.Security_.AuthenticationLevel = wbemAuthenticationLevelPktPrivacy | |
Dim oReg: Set oReg = oLocator.ConnectServer(Resource, "root\default", "", "", , , , oCtx).Get("StdRegProv") | |
Dim oInParams: Set oInParams = oReg.Methods_("EnumValues").InParameters | |
oInParams.hDefKey = hDefKey | |
oInParams.sSubKeyName = sSubKeyName | |
Dim oOutParams: Set oOutParams = oReg.ExecMethod_("EnumValues", oInParams, , oCtx) | |
If oOutParams.ReturnValue = 0 Then Set EnumValues = oOutParams | |
End Function | |
Function EnumKey (ByVal Resource, ByVal hDefKey, ByVal sSubKeyName, ByVal ProviderArchitecture) | |
Const wbemAuthenticationLevelPktPrivacy = 6 | |
Const wbemImpersonationLevelImpersonate = 3 | |
Dim oCtx: Set oCtx = CreateObject("WbemScripting.SWbemNamedValueSet") | |
oCtx.Add "__ProviderArchitecture", ProviderArchitecture | |
oCtx.Add "__RequiredArchitecture", True | |
Dim oLocator: Set oLocator = CreateObject("Wbemscripting.SWbemLocator") | |
oLocator.Security_.ImpersonationLevel = wbemImpersonationLevelImpersonate | |
oLocator.Security_.AuthenticationLevel = wbemAuthenticationLevelPktPrivacy | |
Dim oReg: Set oReg = oLocator.ConnectServer(Resource, "root\default", "", "", , , , oCtx).Get("StdRegProv") | |
Dim oInParams: Set oInParams = oReg.Methods_("EnumKey").InParameters | |
oInParams.hDefKey = hDefKey | |
oInParams.sSubKeyName = sSubKeyName | |
Dim oOutParams: Set oOutParams = oReg.ExecMethod_("EnumKey", oInParams, , oCtx) | |
If oOutParams.ReturnValue = 0 Then Set EnumValues = oOutParams | |
End Function | |
Function GetMultiStringValue (ByVal Resource, ByVal hDefKey, ByVal sSubKeyName, ByVal sValueName, ByVal ProviderArchitecture) | |
Const wbemAuthenticationLevelPktPrivacy = 6 | |
Const wbemImpersonationLevelImpersonate = 3 | |
Dim oCtx: Set oCtx = CreateObject("WbemScripting.SWbemNamedValueSet") | |
oCtx.Add "__ProviderArchitecture", ProviderArchitecture | |
oCtx.Add "__RequiredArchitecture", True | |
Dim oLocator: Set oLocator = CreateObject("Wbemscripting.SWbemLocator") | |
oLocator.Security_.ImpersonationLevel = wbemImpersonationLevelImpersonate | |
oLocator.Security_.AuthenticationLevel = wbemAuthenticationLevelPktPrivacy | |
Dim oReg: Set oReg = oLocator.ConnectServer(Resource, "root\default", "", "", , , , oCtx).Get("StdRegProv") | |
Dim oInParams: Set oInParams = oReg.Methods_("GetMultiStringValue").InParameters | |
oInParams.hDefKey = hDefKey | |
oInParams.sSubKeyName = sSubKeyName | |
oInParams.sValueName = sValueName | |
Dim oOutParams: Set oOutParams = oReg.ExecMethod_("GetMultiStringValue", oInParams, , oCtx) | |
If oOutParams.ReturnValue = 0 Then GetMultiStringValue = oOutParams.sValue | |
End Function |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment