婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > WMI StdRegProv 通過wmi操作注冊表的vbscript實現代碼 (本地或遠程)

WMI StdRegProv 通過wmi操作注冊表的vbscript實現代碼 (本地或遠程)

熱門標簽:打電話的外呼系統貴不貴 加盟電銷機器人好的品牌 海外美發店地圖標注 辦理膠州400電話財稅 陜西高頻外呼回撥系統哪家好 新密防封卡外呼系統違法嗎 前鋒辦理400電話申請 百度地圖標注怎么卸載 外呼營銷下單系統
Because of its length, only the code for the function itself is shown on this page.
The demo script that shows how to use this function is available as a separate download.
復制代碼 代碼如下:

Function ReadRegValue( myComputer, myRegPath, myRegValue )
' This function reads a value from the registry of any WMI
' enabled computer.
'
' Arguments:
' myComputer a computer name or IP address,
' or a dot for the local computer
' myRegPath a full registry key path, e.g.
' HKEY_CLASSES_ROOT\.jpg or
' HKLM\SOFTWARE\Microsoft\DirectX
' myRegValue the value name to be queried, e.g.
' InstalledVersion or "" for default
' values
'
' The function returns an array with the following elements:
' ReadRegValue(0) the computer name (the first argument)
' ReadRegValue(1) the hive number (see const declarations)
' ReadRegValue(2) the key path without the hive
' ReadRegValue(3) the value name (the third argument)
' ReadRegValue(4) the error number: 0 means no error
' ReadRegValue(5) the data type of the result
' ReadRegValue(6) the actual data, or the first element of an
' array of data for REG_BINARY or REG_MULTI_SZ
'
' Written by Rob van der Woude
' http://www.robvanderwoude.com


' Standard housekeeping
Const HKEY_CLASSES_ROOT = H80000000
Const HKEY_CURRENT_USER = H80000001
Const HKEY_LOCAL_MACHINE = H80000002
Const HKEY_USERS = H80000003
Const HKEY_CURRENT_CONFIG = H80000005
Const HKEY_DYN_DATA = H80000006 ' Windows 95/98 only

Const REG_SZ = 1
Const REG_EXPAND_SZ = 2
Const REG_BINARY = 3
Const REG_DWORD = 4
Const REG_DWORD_BIG_ENDIAN = 5
Const REG_LINK = 6
Const REG_MULTI_SZ = 7
Const REG_RESOURCE_LIST = 8
Const REG_FULL_RESOURCE_DESCRIPTOR = 9
Const REG_RESOURCE_REQUIREMENTS_LIST = 10
Const REG_QWORD = 11

Dim arrRegPath, arrResult(), arrValueNames, arrValueTypes
Dim i, objReg, strHive, valRegError, valRegType, valRegVal

' Assume no error, for now
valRegError = 0

' Split the registry path in a hive part
' and the rest, and check if that succeeded
arrRegPath = Split( myRegPath, "\", 2 )
If IsArray( arrRegPath ) Then
If UBound( arrRegPath ) > 1 Then valRegError = 5
Else
valRegError = 5
End If

' Convert the hive string to a hive number
Select Case UCase( arrRegPath( 0 ) )
Case "HKCR", "HKEY_CLASSES_ROOT"
strHive = HKEY_CLASSES_ROOT
Case "HKCU", "HKEY_CURRENT_USER"
strHive = HKEY_CURRENT_USER
Case "HKLM", "HKEY_LOCAL_MACHINE"
strHive = HKEY_LOCAL_MACHINE
Case "HKU", "HKEY_USERS"
strHive = HKEY_USERS
Case "HKCC", "HKEY_CURRENT_CONFIG"
strHive = HKEY_CURRENT_CONFIG
Case "HKDD", "HKEY_DYN_DATA"
strHive = HKEY_DYN_DATA
Case Else
valRegError = 5
End Select

' Abort if any error occurred, and return an error code
If valRegError > 0 Then
ReadRegValue = Array( myComputer, myRegPath, _
myRegPath, myRegValue, _
valRegError, "-", "-" )
Exit Function
End If

' Initiate custom error handling
On Error Resume Next

' Create a WMI registry object
Set objReg = GetObject( "winmgmts:{impersonationLevel=impersonate}!//" _
myComputer "/root/default:StdRegProv" )

' Abort on failure to create the object
If Err Then
valRegError = Err.Number
Err.Clear
On Error Goto 0
ReadRegValue = Array( myComputer, myRegPath, _
myRegPath, myRegValue, _
valRegError, "-", "-" )
Exit Function
End If

' Get a list of all values in the registry path;
' we need to do this in order to find out the
' exact data type for the requested value
objReg.EnumValues strHive, arrRegPath( 1 ), arrValueNames, arrValueTypes

' If no values were found, we'll need to retrieve a default value
If Not IsArray( arrValueNames ) Then
arrValueNames = Array( "" )
arrValueTypes = Array( REG_SZ )
End If

If Err Then
' Abort on failure, returning an error code
valRegError = Err.Number
Err.Clear
On Error Goto 0
ReadRegValue = Array( myComputer, myRegPath, _
myRegPath, myRegValue, _
valRegError, "-", "-" )
Exit Function
Else
' Loop through all values in the list . . .
For i = 0 To UBound( arrValueNames )
' . . . and find the one requested
If UCase( arrValueNames( i ) ) = UCase( myRegValue ) Then
' Read the requested value's data type
valRegType = arrValueTypes( i )
' Based on the data type, use the appropriate query to retrieve the data
Select Case valRegType
Case REG_SZ
objReg.GetStringValue strHive, arrRegPath( 1 ), _
myRegValue, valRegVal
If Err Then valRegError = Err.Number
Case REG_EXPAND_SZ
objReg.GetExpandedStringValue strHive, arrRegPath( 1 ), _
myRegValue, valRegVal
If Err Then valRegError = Err.Number
Case REG_BINARY ' returns an array of bytes
objReg.GetBinaryValue strHive, arrRegPath( 1 ), _
myRegValue, valRegVal
If Err Then valRegError = Err.Number
Case REG_DWORD
objReg.GetDWORDValue strHive, arrRegPath( 1 ), _
myRegValue, valRegVal
If Err Then valRegError = Err.Number
Case REG_MULTI_SZ ' returns an array of strings
objReg.GetMultiStringValue strHive, arrRegPath( 1 ), _
myRegValue, valRegVal
If Err Then valRegError = Err.Number
Case REG_QWORD
objReg.GetQWORDValue strHive, arrRegPath( 1 ), _
myRegValue, valRegVal
If Err Then valRegError = Err.Number
Case Else
valRegError = 5
End Select
End If
Next
End If

' Check if an error occurred
If valRegError > 0 Then
valRegType = ""
valRegVal = ""
Err.Clear
On Error Goto 0
End If

' Return the data in an array
If valRegType = REG_BINARY Or valRegType = REG_MULTI_SZ Then
' First, deal with registry data which is
' returned as array instead of single value
ReDim Preserve arrResult( 6 + UBound( valRegVal ) )
arrResult( 0 ) = myComputer
arrResult( 1 ) = strHive
arrResult( 2 ) = arrRegPath( 1 )
arrResult( 3 ) = myRegValue
arrResult( 4 ) = valRegError
arrResult( 5 ) = valRegType
For i = 0 To UBound( valRegVal )
arrResult( 6 + i ) = valRegVal( i )
Next
ReadRegValue = arrResult
Else
ReadRegValue = Array( myComputer, strHive, arrRegPath( 1 ), _
myRegValue, valRegError, valRegType, valRegVal )
End If

' Finished
Set objReg = Nothing
On Error Goto 0
End Function

Requirements:
Windows version: ME, 2000, XP, Server 2003, or Vista (95, 98, NT 4 with WMI CORE 1.5)
Network: any
Client software: WMI CORE 1.5 for Windows 95, 98 or NT 4
Script Engine: any
Summarized: Can work on any Windows computer, but WMI CORE 1.5 is required for Windows 95, 98 or NT 4.
Can be used in *.vbs with CSCRIPT.EXE or WSCRIPT.EXE, as well as in HTAs.
您可能感興趣的文章:
  • VB中使用WMI獲取系統硬件和軟件有關信息
  • VBS調用WMI遍歷搜索硬盤文件并計數的方法
  • vbs通過WMI修改文件文件夾的NTFS權限
  • VBS通過WMI監視注冊表變動的代碼
  • VBS通過WMI獲取CPU使用率的代碼
  • 將WMI中的DateTime類型轉換成VBS時間的函數代碼
  • VBS調用WMI實現搜索硬盤mp3文件
  • Rcmd.vbs [Remote Cmd with wmi]遠程腳本
  • VBS調用WMI快速關閉IE的腳本
  • VBS腳本使用WMI操作注冊表的代碼
  • vbs wmi獲取電腦硬件信息實例
  • 初窺WMI_Vbs腳本編程簡明教程補充讀物
  • 使用WMI得到計算機的信息

標簽:武威 四平 河南 阜陽 牡丹江 伊春 梅州 咸陽

巨人網絡通訊聲明:本文標題《WMI StdRegProv 通過wmi操作注冊表的vbscript實現代碼 (本地或遠程)》,本文關鍵詞  WMI,StdRegProv,通過,wmi,操作,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《WMI StdRegProv 通過wmi操作注冊表的vbscript實現代碼 (本地或遠程)》相關的同類信息!
  • 本頁收集關于WMI StdRegProv 通過wmi操作注冊表的vbscript實現代碼 (本地或遠程)的相關信息資訊供網民參考!
  • 推薦文章
    主站蜘蛛池模板: 鲜城| 鹿泉市| 墨竹工卡县| 巴中市| 英吉沙县| 海伦市| 沂南县| 门源| 普陀区| 隆尧县| 泸溪县| 互助| 兴仁县| 中山市| 巧家县| 偏关县| 宁南县| 高邑县| 云阳县| 招远市| 海晏县| 类乌齐县| 鄂尔多斯市| 偃师市| 儋州市| 榆中县| 鄢陵县| 洪泽县| 襄垣县| 元氏县| 布尔津县| 鹤岗市| 通江县| 北京市| 济宁市| 老河口市| 盈江县| 巴楚县| 林西县| 九江县| 洛阳市|