vbscript - 如何在 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
解决方案
我在 Microsoft 线程之一中得到了答案:
下面的 VB 代码将获取登录的用户 sid,我们可以使用该变量来达到我们的目的:
图像中的 vbs 代码 '而我正在寻找的变量路径将像
KEY_PATHS = Array("HKEY_USERS\" & Sid & "\Software\Microsoft\Office\16.0\Outlook\PST")
推荐阅读
- websocket - 读取 WebSocket 客户端数据到服务器 vb.net
- javascript - 为什么这种排序代码会导致 Chrome 和 Firefox 之间的值不同?
- java - Firebase 用户退出
- youtube-api - OAuth授权用户不是按关键字搜索视频吗?
- sql - 如何获取不在内部连接sql中的列,使用union all是很多时间
- python - Python如何重用一个Mock以避免多次编写mock.patch?
- django - Heroku H13 错误代码!有人可以解释一下吗?heroku 错误日志中的连接和服务有什么区别?
- javascript - 在某个按钮单击时不显示弹出模式
- python - 在 SciPy 中查找概率分布函数曲线下的面积
- pygame - 为什么我关闭 pygame 程序的代码在不同的程序中表现不同?