regList.wsf 1.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. '
  2. ' Lists the sub keys and values of a given registry key
  3. '
  4. ' cscript regList.wsg HKLM\Software
  5. '
  6. ' Will Yield:
  7. '
  8. ' {
  9. ' "hklm\software": {
  10. ' "keys": [ .. array of sub keys .. ],
  11. ' "values": {
  12. ' "moo": {
  13. ' "type": "REG_SZ",
  14. ' "value": "bar"
  15. ' }
  16. ' }
  17. ' }
  18. ' }
  19. <job id="list">
  20. <script language="VBScript" src="util.vbs" />
  21. <script language="VBScript" src="regUtil.vbs" />
  22. <script language="VBScript">
  23. CheckZeroArgs("usage: cscript regList.wsf architecture regpath1 [regpath2] ... [regpathN]")
  24. DetermineOSArchitecture()
  25. LoadRegistryImplementationByOSArchitecture()
  26. Write "{"
  27. On Error Resume Next
  28. For v = 1 To args.Count - 1
  29. If (v > 1) Then
  30. Write ","
  31. End If
  32. Dim key: key = trim(args(v))
  33. Write """" & JsonSafe(key) & """: "
  34. ParseHiveAndSubKey key, constHive, strSubKey
  35. If IsNull(constHive) Then
  36. WriteLineErr "unsupported hive " & args(v)
  37. WScript.Quit 25122
  38. End If
  39. ListChildrenAsJson constHive, strSubKey
  40. Next
  41. Write "}"
  42. </script>
  43. </job>