Vbscript 使用vbs创建注册表文本文件

Vbscript 使用vbs创建注册表文本文件,vbscript,registry,Vbscript,Registry,我正在尝试创建一个可以使用VBS读取的注册表备份。我在网上找到了一个脚本,它似乎可以做到这一点,但是,它只在蜂巢的一个文件深处运行 此代码: Const HKEY_CLASSES_ROOT = &H80000000 Const HKEY_CURRENT_USER = &H80000001 Const HKEY_LOCAL_MACHINE = &H80000002 Const HKEY_USERS = &H80000003 Const H

我正在尝试创建一个可以使用VBS读取的注册表备份。我在网上找到了一个脚本,它似乎可以做到这一点,但是,它只在蜂巢的一个文件深处运行

此代码:

Const HKEY_CLASSES_ROOT   = &H80000000
Const HKEY_CURRENT_USER   = &H80000001
Const HKEY_LOCAL_MACHINE  = &H80000002
Const HKEY_USERS          = &H80000003
Const HKEY_CURRENT_CONFIG = &H80000004
strKeyPath = ""

Sub EnumerateKeys(hive, key, f)
  f.WriteLine( key)
  reg.EnumKey hive, key, arrSubKeys

  If Not IsNull(arrSubKeys) Then
    For Each subkey In arrSubKeys
      EnumerateKeys hive, key & "\" & subkey, f
    Next
  End If
End Sub

Set reg = GetObject("winmgmts://./root/default:StdRegProv")



Set fso = CreateObject("Scripting.FileSystemObject")
path = <Path to Text file>
If fso.FileExists(path) Then

Else
    Set file = fso.CreateTextFile(path)
End If

EnumerateKeys HKEY_LOCAL_MACHINE, strKeyPath, file
Const HKEY\u CLASSES\u ROOT=&h8000000
Const HKEY_当前用户=&H80000001
Const HKEY_本地_机器=&H8000002
常数HKEY_用户=&H8000003
常数HKEY_当前_配置=&H8000004
strKeyPath=“”
子枚举键(配置单元、键、f)
f、 写线(键)
reg.EnumKey配置单元、键、子键
如果不为IsNull(arrsubkey),则
对于ARR子键中的每个子键
枚举键配置单元,键和子键,f
下一个
如果结束
端接头
Set reg=GetObject(“winmgmts://./root/default:StdRegProv")
设置fso=CreateObject(“Scripting.FileSystemObject”)
路径=
如果存在fso.files(路径),则
其他的
Set file=fso.CreateTextFile(路径)
如果结束
枚举密钥HKEY_本地_计算机、strKeyPath、文件
执行

\BCD00000000
\硬件
\萨姆
\安全性
\软件
\系统

而且似乎只深入到第一个文件路径。任何帮助都将不胜感激


谢谢

您不能用代码备份注册表。仅it系统的某些部分具有访问权限。您的两个东西是虚拟密钥(
HKCR
HKCU\Software\Classes和HKLM\Software\Classes
构建)
HKCU
HKUsers
的子键。使用
REG
命令行命令(
Reg Save/?
Reg Restore/?
-请参阅
Reg/?
。我不知道这是否对您有帮助?此脚本将搜索您的注册表,找到您输入的搜索字符串的所有实例,并创建一个可由写字板打开的临时文件。注意:关闭写字板时,此文件将被删除。您必须手动如果以后要再次引用,请将此文件保存到新位置。如果使用扩展名
.reg
保存此文件,则可以使用它来
还原
对这些值所做的任何注册表更改。默认情况下
.reg
文件编码为UTF-16。我不知道如何在VBScript中创建UTF-16文件。最好使用de>reg.exe
程序备份注册表(如果愿意,您可以从vbscript调用
reg.exe
)。