Advertisement
Guest User

Untitled

a guest
Dec 27th, 2017
34
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 6.41 KB | None | 0 0
  1. Option Explicit
  2. '~ On Error Resume Next
  3. RequireAdmin
  4.  
  5. Dim objReg
  6. Set objReg=GetObject("winmgmts:{impersonationLevel=impersonate}!\\.\root\default:StdRegProv")
  7.  
  8. RegWrite "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\MMDevices\Audio\Render\{a88a8d13-30b1-4a92-a60f-22867aecf11c}\FxProperties", "{b6af177a-f166-475a-86a6-e7a85186321d},1", "REG_DWORD", 1
  9. RegWrite "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\MMDevices\Audio\Render\{a88a8d13-30b1-4a92-a60f-22867aecf11c}\Properties", "{f19f064d-082c-4e27-bc73-6882a1bb8e4c},0", "REG_BINARY", Array(65,0,97,0,1,0,0,0,254,255,2,0,128,187,0,0,0,238,2,0,4,0,16,0,22,0,16,0,3,0,0,0,146,0,0,0,0,0,16,0,128,0,0,170,0,56,155,113)
  10. RegWrite "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\MMDevices\Audio\Render\{a88a8d13-30b1-4a92-a60f-22867aecf11c}\Properties", "{3d6e1656-2e50-4c4c-8d85-d0acae3c6c68},3", "REG_BINARY", Array(65,0,2,0,1,0,0,0,254,255,6,0,128,187,0,0,0,148,17,0,24,0,32,0,22,0,32,0,15,6,0,0,3,0,0,0,0,0,16,0,128,0,0,170,0,56,155,113)
  11. RegWrite "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\MMDevices\Audio\Render\{a88a8d13-30b1-4a92-a60f-22867aecf11c}\Properties", "{e4870e26-3cc5-4cd2-ba46-ca0a9a70ed04},0", "REG_BINARY", Array(65,0,97,0,1,0,0,0,254,255,6,0,128,187,0,0,0,148,17,0,24,0,32,0,22,0,32,0,15,6,0,0,3,0,0,0,0,0,16,0,128,0,0,170,0,56,155,113)
  12. RegWrite "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\MMDevices\Audio\Render\{a88a8d13-30b1-4a92-a60f-22867aecf11c}\Properties", "{624f56de-fd24-473e-814a-de40aacaed16},3", "REG_BINARY", Array(65,0,97,0,1,0,0,0,254,255,6,0,128,187,0,0,0,148,17,0,24,0,32,0,22,0,32,0,15,6,0,0,3,0,0,0,0,0,16,0,128,0,0,170,0,56,155,113)
  13. RegWrite "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\MMDevices\Audio\Render\{a88a8d13-30b1-4a92-a60f-22867aecf11c}\Properties", "{3d6e1656-2e50-4c4c-8d85-d0acae3c6c68},2", "REG_BINARY", Array(65,0,2,0,1,0,0,0,254,255,6,0,128,187,0,0,0,148,17,0,24,0,32,0,22,0,32,0,15,6,0,0,3,0,0,0,0,0,16,0,128,0,0,170,0,56,155,113)
  14.  
  15. Function RegWrite(reg_keyname, reg_valuename,reg_type,ByVal reg_value)
  16. Dim aRegKey, Return
  17. aRegKey = RegSplitKey(reg_keyname)
  18. If IsArray(aRegKey) = 0 Then
  19. RegWrite = 0
  20. Exit Function
  21. End If
  22.  
  23. Return = RegWriteKey(aRegKey)
  24. If Return = 0 Then
  25. RegWrite = 0
  26. Exit Function
  27. End If
  28.  
  29. Select Case reg_type
  30. Case "REG_SZ"
  31. Return = objReg.SetStringValue(aRegKey(0),aRegKey(1),reg_valuename,reg_value)
  32. Case "REG_EXPAND_SZ"
  33. Return = objReg.SetExpandedStringValue(aRegKey(0),aRegKey(1),reg_valuename,reg_value)
  34. Case "REG_BINARY"
  35. If IsArray(reg_value) = 0 Then reg_value = Array()
  36. Return = objReg.SetBinaryValue(aRegKey(0),aRegKey(1),reg_valuename,reg_value)
  37.  
  38. Case "REG_DWORD"
  39. If IsNumeric(reg_value) = 0 Then reg_value = 0
  40. Return = objReg.SetDWORDValue(aRegKey(0),aRegKey(1),reg_valuename,reg_value)
  41.  
  42. Case "REG_MULTI_SZ"
  43. If IsArray(reg_value) = 0 Then
  44. If Len(reg_value) = 0 Then
  45. reg_value = Array()
  46. Else
  47. reg_value = Array(reg_value)
  48. End If
  49. End If
  50. Return = objReg.SetMultiStringValue(aRegKey(0),aRegKey(1),reg_valuename,reg_value)
  51.  
  52. 'Case "REG_QWORD"
  53. 'Return = oReg.SetQWORDValue(aRegKey(0),aRegKey(1),reg_valuename,reg_value)
  54. Case Else
  55. RegWrite = 0
  56. Exit Function
  57. End Select
  58.  
  59. If (Return <> 0) Or (Err.Number <> 0) Then
  60. RegWrite = 0
  61. Exit Function
  62. End If
  63. RegWrite = 1
  64. End Function
  65.  
  66. Function RegWriteKey(RegKeyName)
  67. Dim Return
  68. If IsArray(RegKeyName) = 0 Then
  69. RegKeyName = RegSplitKey(RegKeyName)
  70. End If
  71.  
  72. If (IsArray(RegKeyName) = 0) Or (UBound(RegKeyName) <> 1) Then
  73. RegWriteKey = 0
  74. Exit Function
  75. End If
  76.  
  77. Return = objReg.CreateKey(RegKeyName(0),RegKeyName(1))
  78. If (Return <> 0) Or (Err.Number <> 0) Then
  79. RegWriteKey = 0
  80. Exit Function
  81. End If
  82. RegWriteKey = 1
  83. End Function
  84.  
  85. Function RegDelete(reg_keyname, reg_valuename)
  86. Dim Return,aRegKey
  87. aRegKey = RegSplitKey(reg_keyname)
  88. If IsArray(aRegKey) = 0 Then
  89. RegDelete = 0
  90. Exit Function
  91. End If
  92.  
  93. Return = objReg.DeleteValue(aRegKey(0),aRegKey(1),reg_valuename)
  94. If (Return <> 0) And (Err.Number <> 0) Then
  95. RegDelete = 0
  96. Exit Function
  97. End If
  98. RegDelete = 1
  99. End Function
  100.  
  101. Function RegDeleteKey(reg_keyname)
  102. Dim Return,aRegKey
  103. aRegKey = RegSplitKey(reg_keyname)
  104. If IsArray(aRegKey) = 0 Then
  105. RegDeleteKey = 0
  106. Exit Function
  107. End If
  108.  
  109. 'On Error Resume Next
  110. Return = RegDeleteSubKey(aRegKey(0),aRegKey(1))
  111. 'On Error Goto 0
  112. If Return = 0 Then
  113. RegDeleteKey = 0
  114. Exit Function
  115. End If
  116. RegDeleteKey = 1
  117. End Function
  118.  
  119. Function RegDeleteSubKey(strRegHive, strKeyPath)
  120. Dim Return,arrSubkeys,strSubkey
  121. objReg.EnumKey strRegHive, strKeyPath, arrSubkeys
  122. If IsArray(arrSubkeys) <> 0 Then
  123. For Each strSubkey In arrSubkeys
  124. RegDeleteSubKey strRegHive, strKeyPath & "\" & strSubkey
  125. Next
  126. End If
  127.  
  128. Return = objReg.DeleteKey(strRegHive, strKeyPath)
  129. If (Return <> 0) Or (Err.Number <> 0) Then
  130. RegDeleteSubKey = 0
  131. Exit Function
  132. End If
  133. RegDeleteSubKey = 1
  134. End Function
  135.  
  136. Function RegSplitKey(RegKeyName)
  137. Dim strHive, strInstr, strLeft
  138. strInstr=InStr(RegKeyName,"\")
  139. If strInstr = 0 Then Exit Function
  140. strLeft=left(RegKeyName,strInstr-1)
  141.  
  142. Select Case strLeft
  143. Case "HKCR","HKEY_CLASSES_ROOT" strHive = &H80000000
  144. Case "HKCU","HKEY_CURRENT_USER" strHive = &H80000001
  145. Case "HKLM","HKEY_LOCAL_MACHINE" strHive = &H80000002
  146. Case "HKU","HKEY_USERS" strHive = &H80000003
  147. Case "HKCC","HKEY_CURRENT_CONFIG" strHive = &H80000005
  148. Case Else Exit Function
  149. End Select
  150.  
  151. RegSplitKey = Array(strHive,Mid(RegKeyName,strInstr+1))
  152. End Function
  153.  
  154. Function RequireAdmin()
  155. Dim reg_valuename, WShell, Cmd, CmdLine, I
  156.  
  157. GetObject("winmgmts:{impersonationLevel=impersonate}!\\.\root\default:StdRegProv")_
  158. .EnumValues &H80000003, "S-1-5-19\Environment", reg_valuename
  159. If IsArray(reg_valuename) <> 0 Then
  160. RequireAdmin = 1
  161. Exit Function
  162. End If
  163.  
  164. Set Cmd = WScript.Arguments
  165. For I = 0 to Cmd.Count - 1
  166. If Cmd(I) = "/admin" Then
  167. Wscript.Echo "To script you must have administrator rights!"
  168. 'RequireAdmin = 0
  169. 'Exit Function
  170. WScript.Quit
  171. End If
  172. CmdLine = CmdLine & Chr(32) & Chr(34) & Cmd(I) & Chr(34)
  173. Next
  174. CmdLine = CmdLine & Chr(32) & Chr(34) & "/admin" & Chr(34)
  175.  
  176. Set WShell= WScript.CreateObject( "WScript.Shell")
  177. CreateObject("Shell.Application").ShellExecute WShell.ExpandEnvironmentStrings(_
  178. "%SystemRoot%\System32\WScript.exe"),Chr(34) & WScript.ScriptFullName & Chr(34) & CmdLine, "", "runas"
  179. WScript.Quit
  180. End Function
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement