脚本之家,脚本语言编程技术及教程分享平台!
分类导航

Python|VBS|Ruby|Lua|perl|VBA|Golang|PowerShell|Erlang|autoit|Dos|bat|

服务器之家 - 脚本之家 - VBS - VBS脚本使用WMI操作注册表的代码

VBS脚本使用WMI操作注册表的代码

2020-07-23 11:02VBS脚本之家 VBS

VBS脚本使用WMI操作注册表,从微软弄下来的,整理了一下,弄成最简版,简版,常用版,以便与快速查找

  1. oReg.CreateKey HKEY_LOCAL_MACHINE,strKeyPath     
  2.  
  3. oReg.SetExpandedStringValue HKEY_LOCAL_MACHINE,strKeyPath,strValueName,strValue     
  4. oReg.SetStringValue HKEY_LOCAL_MACHINE,strKeyPath,strValueName,strValue     
  5. oReg.SetDWORDValue HKEY_LOCAL_MACHINE,strKeyPath,strValueName,dwValue     
  6. oReg.SetBinaryValue HKEY_LOCAL_MACHINE,strPath,strValueName,uBinary     
  7. oReg.SetMultiStringValue HKEY_LOCAL_MACHINE,strKeyPath,strValueName,arrStringValues     
  8.  
  9. oReg.DeleteKey HKEY_LOCAL_MACHINE, strKeyPath     
  10. oReg.DeleteValue HKEY_LOCAL_MACHINE,strKeyPath,strStringValueName     
  11.  
  12. oReg.GetExpandedStringValue HKEY_LOCAL_MACHINE,strKeyPath,strValueName,strValue     
  13. oReg.GetDWORDValue HKEY_CURRENT_USER,strKeyPath,strValueName,dwValue     
  14. oReg.GetStringValue HKEY_LOCAL_MACHINE,strKeyPath,strValueName,strValue     
  15. oReg.GetBinaryValue HKEY_LOCAL_MACHINE,strKeyPath,strValueName,uBinary     
  16. oReg.GetMultiStringValue HKEY_LOCAL_MACHINE,strKeyPath,strValueName,arrStringValues     
  17.  
  18. '-------------------------------------------------------------------------------------------     
  19.  
  20. Const HKEY_CLASSES_ROOT = &H80000000     
  21. Const HKEY_CURRENT_USER = &H80000001     
  22. Const HKEY_LOCAL_MACHINE = &H80000002     
  23. Const HKEY_USERS = &H80000003     
  24. Const HKEY_CURRENT_CONFIG = &H80000005     
  25.  
  26. ' 创建注册表项     
  27. const HKEY_LOCAL_MACHINE = &H80000002     
  28. strComputer = "."    
  29. Set StdOut = WScript.StdOut     
  30. Set oReg=GetObject("winmgmts:{impersonationLevel=impersonate}!\\" &_      
  31. strComputer & "\root\default:StdRegProv")     
  32. strKeyPath = "SOFTWARE\System Admin Scripting Guide"    
  33. oReg.CreateKey HKEY_LOCAL_MACHINE,strKeyPath     
  34.  
  35. '创建多字符串值     
  36. const HKEY_LOCAL_MACHINE = &H80000002     
  37. strComputer = "."    
  38. Set oReg=GetObject("winmgmts:{impersonationLevel=impersonate}!\\" &_      
  39. strComputer & "\root\default:StdRegProv")     
  40. strKeyPath = "SOFTWARE\System Admin Scripting Guide"    
  41. strValueName = "Multi String Value Name"    
  42. arrStringValues = Array("first string""second string",_     
  43.  "third string""fourth string")     
  44. oReg.SetMultiStringValue HKEY_LOCAL_MACHINE,strKeyPath,_     
  45. strValueName,arrStringValues     
  46.  
  47.     
  48. '创建扩展的字符串值     
  49. const HKEY_LOCAL_MACHINE = &H80000002     
  50. strComputer = "."    
  51. Set oReg=GetObject("winmgmts:{impersonationLevel=impersonate}!\\" &_      
  52. strComputer & "\root\default:StdRegProv")     
  53. strKeyPath = "SOFTWARE\System Admin Scripting Guide"    
  54. strValueName = "Expanded String Value Name"    
  55. strValue = "%PATHEXT%"    
  56. oReg.SetExpandedStringValue HKEY_LOCAL_MACHINE,strKeyPath,strValueName,strValue     
  57.  
  58. '创建字符串和 DWORD 值     
  59. const HKEY_LOCAL_MACHINE = &H80000002     
  60. strComputer = "."    
  61. Set StdOut = WScript.StdOut     
  62. Set oReg=GetObject("winmgmts:{impersonationLevel=impersonate}!\\" &_      
  63. strComputer & "\root\default:StdRegProv")     
  64. strKeyPath = "SOFTWARE\System Admin Scripting Guide"    
  65. strValueName = "String Value Name"    
  66. strValue = "string value"    
  67. oReg.SetStringValue HKEY_LOCAL_MACHINE,strKeyPath,strValueName,strValue     
  68. strValueName = "DWORD Value Name"    
  69. dwValue = 82     
  70. oReg.SetDWORDValue HKEY_LOCAL_MACHINE,strKeyPath,strValueName,dwValue     
  71.  
  72.     
  73.  
  74. '删除注册表项     
  75.  
  76. const HKEY_LOCAL_MACHINE = &H80000002     
  77. strComputer = "."    
  78. Set oReg=GetObject("winmgmts:{impersonationLevel=impersonate}!\\" &_      
  79. strComputer & "\root\default:StdRegProv")     
  80. strKeyPath = "SOFTWARE\System Admin Scripting Guide"    
  81. oReg.DeleteKey HKEY_LOCAL_MACHINE, strKeyPath     
  82.  
  83.     
  84. '删除注册表值     
  85.  
  86. const HKEY_LOCAL_MACHINE = &H80000002     
  87. strComputer = "."    
  88. Set oReg=GetObject("winmgmts:{impersonationLevel=impersonate}!\\" &_      
  89. strComputer & "\root\default:StdRegProv")     
  90. strKeyPath = "SOFTWARE\System Admin Scripting Guide"    
  91. strDWORDValueName = "DWORD Value Name"    
  92. strExpandedStringValueName = "Expanded String Value Name"    
  93. strMultiStringValueName = "Multi String Value Name"    
  94. strStringValueName = "String Value Name"    
  95. oReg.DeleteValue HKEY_LOCAL_MACHINE,strKeyPath,strDWORDValueName     
  96. oReg.DeleteValue HKEY_LOCAL_MACHINE,strKeyPath,strExpandedStringValueName     
  97. oReg.DeleteValue HKEY_LOCAL_MACHINE,strKeyPath,strMultiStringValueName     
  98. oReg.DeleteValue HKEY_LOCAL_MACHINE,strKeyPath,strStringValueName     
  99.  
  100.     
  101. '枚举注册表值和类型     
  102. '枚举子项     
  103. '列出注册表文件     
  104. '监视注册表子项事件     
  105. '监视注册表子树事件     
  106. '读取二进制注册表值     
  107.  
  108. const HKEY_LOCAL_MACHINE = &H80000002     
  109. strComputer = "."    
  110. Set StdOut = WScript.StdOut     
  111. Set oReg=GetObject("winmgmts:{impersonationLevel=impersonate}!\\" &_      
  112. strComputer & "\root\default:StdRegProv")     
  113. strKeyPath = "SOFTWARE\Microsoft\Windows NT\CurrentVersion"    
  114. strValueName = "LicenseInfo"    
  115. oReg.GetBinaryValue HKEY_LOCAL_MACHINE,strKeyPath,_     
  116. strValueName,strValue     
  117. For i = lBound(strValue) to uBound(strValue)     
  118.     StdOut.WriteLine  strValue(i)     
  119. Next    
  120.  
  121. '读取 MultiString 值     
  122. const HKEY_LOCAL_MACHINE = &H80000002     
  123. strComputer = "."    
  124. Set StdOut = WScript.StdOut     
  125. Set oReg=GetObject("winmgmts:{impersonationLevel=impersonate}!\\" &_      
  126. strComputer & "\root\default:StdRegProv")     
  127. strKeyPath = "SYSTEM\CurrentControlSet\Services\Eventlog\System"    
  128. strValueName = "Sources"    
  129. oReg.GetMultiStringValue HKEY_LOCAL_MACHINE,strKeyPath,_     
  130. strValueName,arrValues     
  131. For Each strValue In arrValues     
  132.     StdOut.WriteLine  strValue     
  133. Next    
  134.  
  135.     
  136.  
  137. '读取扩展的字符串值     
  138. const HKEY_LOCAL_MACHINE = &H80000002     
  139. strComputer = "."    
  140. Set StdOut = WScript.StdOut     
  141. Set oReg=GetObject("winmgmts:{impersonationLevel=impersonate}!\\" &_      
  142. strComputer & "\root\default:StdRegProv")     
  143. strKeyPath = "SOFTWARE\Microsoft\Windows NT\CurrentVersion\WinLogon"    
  144. strValueName = "UIHost"    
  145. oReg.GetExpandedStringValue HKEY_LOCAL_MACHINE,strKeyPath,_     
  146. strValueName,strValue     
  147. StdOut.WriteLine  "The Windows logon UI host is: " & strValue     
  148.  
  149.     
  150.  
  151. '读取字符串和 DWORD 值     
  152.  
  153. const HKEY_CURRENT_USER = &H80000001     
  154. const HKEY_LOCAL_MACHINE = &H80000002     
  155. strComputer = "."    
  156. Set StdOut = WScript.StdOut     
  157. Set oReg=GetObject("winmgmts:{impersonationLevel=impersonate}!\\" &_     
  158.  strComputer & "\root\default:StdRegProv")     
  159. strKeyPath = "Console"    
  160. strValueName = "HistoryBufferSize"    
  161. oReg.GetDWORDValue HKEY_CURRENT_USER,strKeyPath,strValueName,dwValue     
  162. StdOut.WriteLine "Current History Buffer Size: " & dwValue      
  163. strKeyPath = "SOFTWARE\Microsoft\Windows Script Host\Settings"    
  164. strValueName = "TrustPolicy"    
  165. oReg.GetStringValue HKEY_LOCAL_MACHINE,strKeyPath,strValueName,strValue     
  166. StdOut.WriteLine "Current WSH Trust Policy Value: " & strValue     
  167.  
  168. '-------------------------------------------------------------------------------------------     
  169.  
  170. Const HKEY_CLASSES_ROOT = &H80000000     
  171. Const HKEY_CURRENT_USER = &H80000001     
  172. Const HKEY_LOCAL_MACHINE = &H80000002     
  173. Const HKEY_USERS = &H80000003     
  174. Const HKEY_CURRENT_CONFIG = &H80000005     
  175.  
  176. strComputer = "."    
  177. Set StdOut = WScript.StdOut     
  178. Set oReg=GetObject("winmgmts:{impersonationLevel=impersonate}!\\" & strComputer & "\root\default:StdRegProv")     
  179.  
  180.     
  181.  
  182. '创建注册表项     
  183. strKeyPath = "SOFTWARE\System Admin Scripting Guide"    
  184. oReg.CreateKey HKEY_LOCAL_MACHINE,strKeyPath     
  185.  
  186. '创建多字符串值     
  187.  
  188. strValueName = "Multi String Value Name"    
  189. arrStringValues = Array("first string""second string""third string""fourth string")     
  190. oReg.SetMultiStringValue HKEY_LOCAL_MACHINE,strKeyPath,strValueName,arrStringValues     
  191.  
  192. '创建扩展的字符串值     
  193. strValueName = "Expanded String Value Name"    
  194. strValue = "%PATHEXT%"    
  195. oReg.SetExpandedStringValue HKEY_LOCAL_MACHINE,strKeyPath,strValueName,strValue     
  196.  
  197. '创建字符串     
  198. strValueName = "String Value Name"    
  199. strValue = "string value"    
  200. oReg.SetStringValue HKEY_LOCAL_MACHINE,strKeyPath,strValueName,strValue     
  201.  
  202. '创建DWORD 值     
  203. strValueName = "DWORD Value Name"    
  204. dwValue = 82     
  205. oReg.SetDWORDValue HKEY_LOCAL_MACHINE,strKeyPath,strValueName,dwValue     
  206.  
  207. '创建二进制值     
  208. strValueName = "Binary Value Name"    
  209. uBinary = Array(1,0,0,0)     
  210. oReg.SetBinaryValue HKEY_LOCAL_MACHINE,strPath,strValueName,uBinary     
  211.  
  212.     
  213. '删除注册表项     
  214. strKeyPath = "SOFTWARE\System Admin Scripting Guide"    
  215. oReg.DeleteKey HKEY_LOCAL_MACHINE, strKeyPath     
  216.  
  217.     
  218. '删除注册表值     
  219.  
  220. strDWORDValueName = "DWORD Value Name"    
  221. strExpandedStringValueName = "Expanded String Value Name"    
  222. strMultiStringValueName = "Multi String Value Name"    
  223. strStringValueName = "String Value Name"    
  224. oReg.DeleteValue HKEY_LOCAL_MACHINE,strKeyPath,strDWORDValueName     
  225. oReg.DeleteValue HKEY_LOCAL_MACHINE,strKeyPath,strExpandedStringValueName     
  226. oReg.DeleteValue HKEY_LOCAL_MACHINE,strKeyPath,strMultiStringValueName     
  227. oReg.DeleteValue HKEY_LOCAL_MACHINE,strKeyPath,strStringValueName     
  228.  
  229.     
  230. '''''''''''''''''''''''''''''''''''''''''''''''''枚举注册表值和类型     
  231. '''''''''''''''''''''''''''''''''''''''''''''''''枚举子项     
  232. '''''''''''''''''''''''''''''''''''''''''''''''''列出注册表文件     
  233. '''''''''''''''''''''''''''''''''''''''''''''''''监视注册表子项事件     
  234. '''''''''''''''''''''''''''''''''''''''''''''''''监视注册表子树事件     
  235.  
  236. '读取 MultiString 值     
  237. strKeyPath = "SYSTEM\CurrentControlSet\Services\Eventlog\System"    
  238. strValueName = "Sources"    
  239. oReg.GetMultiStringValue HKEY_LOCAL_MACHINE,strKeyPath,strValueName,arrValues     
  240. For Each strValue In arrValues     
  241.     StdOut.WriteLine  strValue     
  242. Next    
  243.  
  244. '读取扩展的字符串值     
  245. strKeyPath = "SOFTWARE\Microsoft\Windows NT\CurrentVersion\WinLogon"    
  246. strValueName = "UIHost"    
  247. oReg.GetExpandedStringValue HKEY_LOCAL_MACHINE,strKeyPath,strValueName,strValue     
  248. StdOut.WriteLine  "The Windows logon UI host is: " & strValue     
  249.  
  250. '读取字符串值     
  251. strKeyPath = "Console"    
  252. strValueName = "HistoryBufferSize"    
  253. oReg.GetDWORDValue HKEY_CURRENT_USER,strKeyPath,strValueName,dwValue     
  254. StdOut.WriteLine "Current History Buffer Size: " & dwValue      
  255.  
  256. '读取 DWORD 值     
  257. strKeyPath = "SOFTWARE\Microsoft\Windows Script Host\Settings"    
  258. strValueName = "TrustPolicy"    
  259. oReg.GetStringValue HKEY_LOCAL_MACHINE,strKeyPath,strValueName,strValue     
  260. StdOut.WriteLine "Current WSH Trust Policy Value: " & strValue     
  261.  
  262. '读取二进制注册表值     
  263. strKeyPath = "SOFTWARE\Microsoft\Windows NT\CurrentVersion"    
  264. strValueName = "LicenseInfo"    
  265. oReg.GetBinaryValue HKEY_LOCAL_MACHINE,strKeyPath,strValueName,strValue     
  266. For i = lBound(strValue) to uBound(strValue)     
  267.     StdOut.WriteLine  strValue(i)     
  268. Next  

延伸 · 阅读

精彩推荐