首页 > 解决方案 > 如何在 vb 脚本中创建变量注册表路径

问题描述

我需要帮助创建一个注册表路径,该路径将使用一个变量来登录用户 SID。路径就像 -HKEY_USERS\'%UserSID%'\Software\Microsoft\Office\16.0\Outlook

应该为当前登录系统的用户选择用户 SID。

我不知道如何创建这个变量?

我想在我的脚本数组中使用这个变量。

KEY_PATHS = Array("HKEY_USERS\S-1-5-21-4054882774-118064744-2143271696-500\Software\Microsoft\Office\16.0\Outlook", _
"HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList\S-1-5-21-2660683129-3636505375-3381148637-65620")

DEBUG_PRINTING = False 

MASTER_EXECUTION 

Sub MASTER_EXECUTION()
    ' WMI Class Management
    MAINTAIN_WMI_CLASS()

    ' Registry Key Storage
    For Each KEY_PATH In KEY_PATHS
        STORE_KEYS(KEY_PATH)
    Next

    If Err.Number <> 0 Then
        EVENT_WRITER "ERROR","Storing Registry Keys Failed " & Err.Number & " | " & Err.Description
    Else
        EVENT_WRITER "INFO", "Storing Registry Keys Completed Successfully"                    
    End If
End Sub

Function CONVERT_HIVE(HIVE)
    ' Check and return a system name based on a friendly name
    If UCase(HIVE) = "HKEY_LOCAL_MACHINE" Then
        CONVERT_HIVE = &H80000002
    ElseIf UCase(HIVE) = "HKEY_USERS" Then
        CONVERT_HIVE = &H80000002
    ElseIf UCase(HIVE) = "HKEY_CURRENT_CONFIG" Then
        CONVERT_HIVE = &H80000005
    Else
        EVENT_WRITER "ERROR","Converting Hive " & HIVE & " failed - " & Err.Number & " | " & Err.Description
        WScript.Quit
    End If
End Function

标签: vbscript

解决方案


我在 Microsoft 线程之一中得到了答案:

下面的 VB 代码将获取登录的用户 sid,我们可以使用该变量来达到我们的目的:

图像中的 vbs 代码 '而我正在寻找的变量路径将像

KEY_PATHS = Array("HKEY_USERS\" & Sid & "\Software\Microsoft\Office\16.0\Outlook\PST")


推荐阅读