核心vbs代码
- '变量定义
- Dim writeName,writeValue,fileName,regLoaction,regApp
-
- '创建注册表编辑器对象
- Set regApp=WScript.CreateObject("WScript.Shell")
-
- '配置文件名
- fileName="FullScan.txt"
- '输入键名
- writeName="xiaoqiang"
- '输入键值
- writeValue="test"
-
- '************************脚本运行区间********************************
-
- '根据配置文件获取注册表路径数组
- regLoaction=getRegPathArray(getFileText(fileName))
-
- '写入注册表
- write regLoaction,writeName,writeValue
-
- '读取写入的键值 生成并生成结果文件
- read regLoaction,writeName
-
- '************************函数定义********************************
- '读注册表
- Function read(regLoaction,writeName)
- Dim returnStrArray(),j
- j=0
- If writeName="" or writeValue="" then
- msgbox "错误!!请输入键名和键值"
- else
- for i=0 to ubound(regLoaction)
- ReDim Preserve returnStrArray(j)
- regPath=regLoaction(i)&""&writeName
- returnStrArray(j)=regPath&"? "®App.RegRead(regPath)
- j=j+1
- Next
- End if
- writeResult returnStrArray
- End Function
-
- '写入注册表
- Function write(regLoaction,writeName,writeValue)
- If writeName="" or writeValue="" then
- msgbox "错误!!请输入键名和键值"
- else
- for i=0 to ubound(regLoaction)
- regApp.RegWrite regLoaction(i)&""&writeName,writeValue
- Next
- End if
- End Function
-
- '输出结果文件
- sub writeResult(contentArray)
- Const ForReading = 1, ForWriting = 2
- Dim fso,f,returnStrArray(),i
- Set fso = CreateObject("Scripting.FileSystemObject")
- Set f = fso.OpenTextFile("result.txt", 2,true)
- for i=0 to ubound(contentArray)
- f.writeline(contentArray(i))
- Next
- f.close()
- End Sub
-
- '得到注册表路径数组
- Function getRegPathArray(sourceArray)
- Dim head,returnStrArray(),j
- j=0
- for i=0 to ubound(sourceArray)
- If sourceArray(i)="[HKEY_LOCAL_MACHINE]" then
- head="HKLM"
- elseif sourceArray(i)="[HKEY_USERS]" then
- head="HKEY_USERS\.DEFAULT"
- elseif sourceArray(i)="[HKEY_CURRENT_USER]" then
- head="HKCU"
- elseif sourceArray(i)="[HKEY_CLASSES_ROOT]" then
- head="HKCR"
- elseif sourceArray(i)="[HKEY_CURRENT_CONFIG]" then
- head="HKEY_CURRENT_CONFIG"
- else
- ReDim Preserve returnStrArray(j)
- str=head&split(sourceArray(i),"=")(1)
- returnStrArray(j)=str
- j=j+1
- End If
- Next
- getRegPathArray=returnStrArray
- End Function
-
- '得到文件内容存入数组
- Function getFileText(fileName)
- Const ForReading = 1, ForWriting = 2
- Dim fso,f,returnStrArray(),i
- Set fso = CreateObject("Scripting.FileSystemObject")
- Set f = fso.OpenTextFile(fileName, 1)
- i=0
- do while f.atendofstream<>true
- ReDim Preserve returnStrArray(i)
- returnStrArray(i)=f.readline()
- i=i+1
- loop
- f.close()
- getFileText=returnStrArray
- End Function
复制代码
//配置文件
FullScan.txt- [HKEY_LOCAL_MACHINE]
- 1=\Software\Microsoft\Windows\CurrentVersion\Run
- 2=\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer\Run\
- 3=\Software\Microsoft\Windows\CurrentVersion\RunOnce\
- 4=\Software\Microsoft\Windows\CurrentVersion\RunServicesOnce\
- 5=\Software\Microsoft\Windows\CurrentVersion\RunOnceEx
- 6=\Software\Microsoft\Windows\CurrentVersion\Policies\System\Shell\
- 7=\Software\Microsoft\Windows\CurrentVersion\ShellServiceObjectDelayLoad\
- 8=\Software\Policies\Microsoft\Windows\System\Scripts\
- [HKEY_CURRENT_USER]
- 1=\Software\Microsoft\Windows\CurrentVersion\Run
- 2=\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer\Run\
- 3=\Software\Microsoft\Windows\CurrentVersion\RunOnce\
- 4=\Software\Microsoft\Windows\CurrentVersion\RunServicesOnce\
- 5=\Software\Microsoft\Windows\CurrentVersion\RunOnceEx
- 6=\Software\Microsoft\Windows\CurrentVersion\Policies\System\Shell\
- 7=\Software\Microsoft\Windows\CurrentVersion\ShellServiceObjectDelayLoad\
- 8=\Software\Policies\Microsoft\Windows\System\Scripts\
复制代码
运行后得到result.txt- HKLM\Software\Microsoft\Windows\CurrentVersion\Run\xiaoqiang? test
- HKLM\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer\Run\\xiaoqiang? test
- HKLM\Software\Microsoft\Windows\CurrentVersion\RunOnce\\xiaoqiang? test
- HKLM\Software\Microsoft\Windows\CurrentVersion\RunServicesOnce\\xiaoqiang? test
- HKLM\Software\Microsoft\Windows\CurrentVersion\RunOnceEx\xiaoqiang? test
- HKLM\Software\Microsoft\Windows\CurrentVersion\Policies\System\Shell\\xiaoqiang? test
- HKLM\Software\Microsoft\Windows\CurrentVersion\ShellServiceObjectDelayLoad\\xiaoqiang? test
- HKLM\Software\Policies\Microsoft\Windows\System\Scripts\\xiaoqiang? test
- HKCU\Software\Microsoft\Windows\CurrentVersion\Run\xiaoqiang? test
- HKCU\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer\Run\\xiaoqiang? test
- HKCU\Software\Microsoft\Windows\CurrentVersion\RunOnce\\xiaoqiang? test
- HKCU\Software\Microsoft\Windows\CurrentVersion\RunServicesOnce\\xiaoqiang? test
- HKCU\Software\Microsoft\Windows\CurrentVersion\RunOnceEx\xiaoqiang? test
- HKCU\Software\Microsoft\Windows\CurrentVersion\Policies\System\Shell\\xiaoqiang? test
- HKCU\Software\Microsoft\Windows\CurrentVersion\ShellServiceObjectDelayLoad\\xiaoqiang? test
- HKCU\Software\Policies\Microsoft\Windows\System\Scripts\\xiaoqiang? test
复制代码
注册表中的值
以下是草根技术分享小编补充
运行后就会发如今体系开始自动运行的一些启动项加入了如上值,以是不发起普通用户运行。
既然批量添加那么也可以批量删除
将上面的vbs代码中的- regApp.RegWrite regLoaction(i)&""&writeName,writeValue
复制代码
更换为- regApp.RegDelete regLoaction(i)&""&writeName
复制代码
发现直接运行不可,着实注册表的删除需要用管理员权限才可以。
怕有些新手不知道如何管理员权限运行vbs
着实右键cmd中看到 以管理员权限运行 打开 dos窗口,然后将vbs文件拖到这个dos窗口内里,回车运行即可
然后拖沓
回车后发现,并没有提示任何错误信息,从注册表中看到,确定这个字段已经没了。完全办理。 |