亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > VBScript > 正文

自動寫入文件上傳到指定服務器SoftwareMeteringCLS.vbs源碼

2020-07-26 11:55:12
字體:
來源:轉載
供稿:網友
復制代碼 代碼如下:

' FileName: SoftwareMeteringCLS.vbs
' ////////////////////////////////////////////////////////////////////
If (WScript.ScriptName = "SoftwareMeteringCLS.vbs") Then Call demo_SoftwareMeteringCLS()

' ====================================================================
Function getSoftwareList(sHost)
' Callable by *.wsf; will return list (safe array) of installed
' software on the sHost system (sHost is ComputerName or IP address).
'
' The assumption is that sHost is available and has WMI installed.

Set oSoftMeter = new SoftwareMeteringCLS
sProgsAry = oSoftMeter.getList(sHost)
Set oSpftMeter = Nothing
getSoftwareList = sProgsAry
End Function
' ====================== CLASS =======================================
Class SoftwareMeteringCLS
' Author: Branimir Petrovic
' Date: 6 Sept 2002
' Version: 1.0.3
'
' Revision History:
' 30 March 2002 V 1.0.0
'
' 08 April 2002 V 1.0.1
' Added error handling - if the target system is not present,
' or does not have WMI, getList(sHost) will return empty list.
'
' Added global function getSoftwareList(sHost) to be used
' from *.wsf scripts when caller script is JScript (since
' JScript can not instantiate VBS classes directly).
'
' 21 April 2002 V 1.0.2
' Replacing "[" with "(" and "]" with ")" in "DisplayName"
' Some strings like: [See Q311401 for more information]
' can cause troubles, therefore replacement.
'
' 6 Sept 2002 V 1.0.3
' Win2K's SP3 for Windows 2000 introduced slight (but silent)
' 'improvement' in a way registry provder's EnumValues method
' deals with empty keys. EnumValues method called against
' keys without any values (except the Default, empty value)
' will now return Null value (previously array of size 0 was
' returned). Added (previously unneeded) type checking...
'
'
' Dependancies:
' WSH 5.6
'
' Methods:
' - getClassName()
' - getVersion()
' - getList(sHost) sHost parameter can be computer name or IP address
' Enumerates all subkeys in:
' "Software/Microsoft/Windows/CurrentVersion/Uninstall"
' Returns array of strings, each string item containing:
' "DisplayNameKeyValue[ --Version: DisplayVersionKeyValue]"
'
' If sHost parameter is empty string or non-string value,
' function returns list of installed software on this host.
' Otherwise it will connect to host pointed to by sHost string
' (provided sufficient level of permissions)
'
' - getHostString() Returns name of the system or IP address


' --- Private data members
Private HKLM ' Points to HKEY_LOCAL_MACHINE hive
Private UNINSTALL_ROOT ' Software/Microsoft/Windows/CurrentVersion/Uninstall
Private SUPRESS_HOTFIX_ENTRIES ' By default is TRUE (set in Class_Initialize)
' (supressess listing of installed hotfixes)
Private CLASS_NAME
Private VERSION
Private REG_SZ
Private oReg
Private sComputerName


' --- Public
Public Function getClassName()
getClassName = CLASS_NAME
End Function

Public Function getVersion()
getVersion = VERSION
End Function

Public Function getList(sHost)
If TypeName(sHost)="String" AND sHost<>"" Then
sComputerName = sHost
Else
sComputerName = WScript.CreateObject("WScript.Network").ComputerName
End If

On Error Resume Next
Set oReg = GetObject("winmgmts:{impersonationLevel=impersonate}//" &_
sComputerName & "/root/default:StdRegProv")
If Err.Number<>0 Then
' Computer is not accessable or does not have WMI, return empty array
getList = Array()
Else
' Computer is on the network and does have working WMI,
' return the list (safe array) of installed software
getList = listInstalledProgs(oReg)
End If
On Error GoTo 0
End Function

Public Function getHostString()
getHostString = sComputerName
End Function


' --- Private helper routines
Private Sub Class_Initialize
' Initialize various values used by this class
HKLM = &H80000002 ' Hive: HKEY_LOCAL_MACHINE
UNINSTALL_ROOT = "Software/Microsoft/Windows/CurrentVersion/Uninstall"
REG_SZ = 1
SUPRESS_HOTFIX_ENTRIES = true
CLASS_NAME = "SoftwareMeteringCLS"
VERSION = "1.0.3"
End Sub

Private Function listInstalledProgs(oReg)
' returns array of strings DisplayName & " " & DisplayVersion
Dim oRegX, nCnt, sSubKeysAry, sProgName
Dim sProgsAry(): ReDim sProgsAry(1)
sSubKeysAry = getKeys(oReg, HKLM, UNINSTALL_ROOT)

If SUPRESS_HOTFIX_ENTRIES Then
' Supress looking into all hot fix related sub keys (like Q252795, etc...)
Set oRegX = new RegExp
oRegX.Pattern = "^Q/d+$" ' will detect patterns like: Q252795
oRegX.IgnoreCase = true

For nCnt = 0 To UBound(sSubKeysAry)
If NOT oRegX.Test(sSubKeysAry(nCnt)) Then
sProgName = getProgNameAndVersion(oReg, HKLM, _
UNINSTALL_ROOT & "/" & sSubKeysAry(nCnt))

If NOT (IsEmpty(sProgName) OR sProgName="") Then
If NOT IsEmpty(sProgsAry(UBound(sProgsAry) - 1)) Then
ReDim Preserve sProgsAry(UBound(sProgsAry)+1)
End If
sProgsAry(UBound(sProgsAry)-1) = sProgName
End If
End If
Next
Else
' List all sub keys including hotfix related ones (like Q252795, etc...)
For nCnt = 0 To UBound(sSubKeysAry)
sProgName = getProgNameAndVersion(oReg, HKLM, _
UNINSTALL_ROOT & "/" & sSubKeysAry(nCnt))

If NOT (IsEmpty(sProgName) OR sProgName="") Then
If NOT IsEmpty(sProgsAry(UBound(sProgsAry) - 1)) Then
ReDim Preserve sProgsAry(UBound(sProgsAry)+1)
End If
sProgsAry(UBound(sProgsAry)-1) = sProgName
End If
Next
End If

listInstalledProgs = sProgsAry
End Function

Private Function getKeys(oReg, HIVE, sKeyRoot)
' Returns array of strings of subkey names
Dim vKeysAry
Call oReg.EnumKey(HIVE, sKeyRoot, vKeysAry)
getKeys = vKeysAry ' >>>
End Function

Private Function getProgNameAndVersion(oReg, HIVE, sKeyRoot)
' If both values "DisplayName" and "DisplayVersion" exist in sKeyRoot, return:
' "DisplayNameKeyValue --Version: DisplayVersionKeyValue"
'
' If only "DisplayName" exists, return:
' "DisplayNameKeyValue"
'
' Otherwise EMPTY is returned

Dim sKeyValuesAry, iKeyTypesAry, nCnt, sValue, sDisplayName, sDisplayVersion
oReg.EnumValues HIVE, sKeyRoot, sKeyValuesAry, iKeyTypesAry 'fill the arrays

' 6 Sept 2002
' SP3 for Win2K altered behavior of registry provider's EnumValues method!
' EnumValues method after SP3 does not return empty array any more for all
' those registry keys that have only empty Default value.
' Therefore sKeyValuesAry must be tested to see if it is an array or not.
If NOT IsArray(sKeyValuesAry) Then
Exit Function ' ' >>>
End If

For nCnt = 0 To UBound(sKeyValuesAry)
If InStr(1, sKeyValuesAry(nCnt), "DisplayName", vbTextCompare) Then
If iKeyTypesAry(nCnt) = REG_SZ Then
oReg.GetStringValue HIVE, sKeyRoot, sKeyValuesAry(nCnt), sValue
If sValue<>"" Then
sDisplayName = sValue
sDisplayName = Replace(sDisplayName, "[", "(")
sDisplayName = Replace(sDisplayName, "]", ")")
End If
End If
ElseIf InStr(1, sKeyValuesAry(nCnt), "DisplayVersion", vbTextCompare) Then
If iKeyTypesAry(nCnt) = REG_SZ Then
oReg.GetStringValue HIVE, sKeyRoot, sKeyValuesAry(nCnt), sValue
If sValue<>"" Then sDisplayVersion = sValue
End If
End If

If (sDisplayName<>"") AND (sDisplayVersion<>"") Then
getProgNameAndVersion = sDisplayName & " --Version: " & sDisplayVersion
Exit Function ' >>>
End If
Next

If sDisplayName<>"" Then
getProgNameAndVersion = sDisplayName
Exit Function ' >>>
End If
End Function

End Class
' ====================== END OF CLASS ================================

Function demo_SoftwareMeteringCLS()
Dim oSoftMeter, sProgsAry, sComputer

'sComputer = "W-BRANIMIR-666"
'sComputer = "W-Branimir-079"
sComputer = "" ' query local host

sProgsAry = getSoftwareList(sComputer)
Call WScript.Echo(Join(sProgsAry, vbCrLf))
End Function


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
欧美性高潮床叫视频| 日本久久久久久久久| 亚洲欧洲一区二区三区久久| 中国日韩欧美久久久久久久久| 45www国产精品网站| 91老司机在线| 影音先锋欧美精品| 欧美视频中文字幕在线| 午夜免费久久久久| 成人在线小视频| 少妇高潮久久77777| 亚洲国产成人久久综合一区| 精品国内亚洲在观看18黄| 欧美日韩综合视频网址| 在线免费观看羞羞视频一区二区| 日韩欧美亚洲范冰冰与中字| 成人免费大片黄在线播放| 日韩精品中文字幕有码专区| 国产精品丝袜白浆摸在线| 亚洲欧美一区二区三区久久| www.99久久热国产日韩欧美.com| 97超碰蝌蚪网人人做人人爽| 久久久精品一区二区三区| 一区二区亚洲精品国产| 亚洲香蕉伊综合在人在线视看| 夜夜躁日日躁狠狠久久88av| 国产精品∨欧美精品v日韩精品| 日韩在线免费视频观看| 欧美第一淫aaasss性| 欧美在线日韩在线| 亚洲女人天堂av| 亚洲欧美国产制服动漫| 亚洲无线码在线一区观看| 操人视频在线观看欧美| 91亚洲精华国产精华| 高清亚洲成在人网站天堂| 国产激情久久久久| 久久久久久av| 欧美激情中文字幕在线| 欧美裸身视频免费观看| 日韩激情av在线免费观看| 国产精品爽爽爽爽爽爽在线观看| 精品国产一区二区三区久久狼5月| 欧美电影免费观看大全| 日韩中文字幕免费看| 亚洲欧美日韩一区在线| 亚洲国模精品一区| 国产精品美女在线观看| 久久久久久香蕉网| 2025国产精品视频| 日韩av免费在线看| 亚洲欧美中文在线视频| 成人乱色短篇合集| 91av免费观看91av精品在线| 2018日韩中文字幕| 亚洲精品aⅴ中文字幕乱码| 欧美午夜丰满在线18影院| 国产精品伦子伦免费视频| 日本精品视频在线播放| 亚洲成色999久久网站| 日韩av手机在线看| 欧美在线国产精品| 亚洲成人国产精品| 久久99热精品这里久久精品| 亚洲国产精品va在线观看黑人| 欧美亚洲另类激情另类| 精品视频—区二区三区免费| 亚洲女人天堂网| 亚洲国产精品人久久电影| 日韩av三级在线观看| 国产精品丝袜白浆摸在线| 欧美日韩一区二区三区在线免费观看| 91免费国产视频| 欧美精品在线观看91| 亚洲成年人影院在线| 久久久久国产精品免费| 韩国精品美女www爽爽爽视频| 久久久精品电影| 中文字幕亚洲一区二区三区| 亚洲另类欧美自拍| 欧美一级片久久久久久久| 精品网站999www| 在线观看视频99| 国色天香2019中文字幕在线观看| 黑人巨大精品欧美一区免费视频| 国产精品久久久久久久美男| 日韩国产欧美精品一区二区三区| 色樱桃影院亚洲精品影院| 久久久久久久久久久成人| 在线视频免费一区二区| 国产精品中文久久久久久久| 欧美性生交大片免费| 日韩va亚洲va欧洲va国产| 成人h视频在线观看播放| 午夜精品一区二区三区视频免费看| 欧日韩不卡在线视频| 亚洲999一在线观看www| 自拍偷拍亚洲欧美| 一区二区三区 在线观看视| 久久久久久久久久久免费| 色综合久久88色综合天天看泰| 国产精品视频色| 日韩免费观看高清| 久久人人爽人人爽人人片亚洲| 欧美一区二区色| 亚洲黄页网在线观看| 日韩欧美大尺度| 成人黄在线观看| 92裸体在线视频网站| 日韩暖暖在线视频| 国产日韩中文在线| 一本色道久久综合狠狠躁篇的优点| 欧美成人精品激情在线观看| 国产欧美日韩中文| 国产精品中文在线| 色哟哟亚洲精品一区二区| 欧美日韩国产精品| 欧美疯狂做受xxxx高潮| 日韩成人中文字幕在线观看| 亚洲社区在线观看| 国内伊人久久久久久网站视频| 最新国产精品亚洲| 亚洲成人在线网| 亚洲成人黄色在线| 久久国产精品久久久久久| 日韩hd视频在线观看| 国产偷国产偷亚洲清高网站| 亚洲视频专区在线| 亚洲欧美999| 成人美女免费网站视频| 九九热99久久久国产盗摄| 亚洲综合在线中文字幕| 在线精品国产欧美| 久久影视电视剧免费网站| 91久久精品国产91久久| 久久精品99久久久久久久久| 日韩成人黄色av| 亚洲一区二区三区四区在线播放| 久久综合电影一区| 欧美性色视频在线| 一区二区日韩精品| 九九热r在线视频精品| 国产精品国产三级国产专播精品人| 欧美一级电影免费在线观看| 久久久精品一区二区三区| 久久五月情影视| 国内外成人免费激情在线视频网站| 91视频88av| 国产婷婷97碰碰久久人人蜜臀| 亚洲国产精久久久久久| 色综合色综合网色综合| 久久久久国产精品免费网站| 91av在线不卡| 日韩电影免费在线观看| 国产精品香蕉国产| 欧美日韩一区二区在线播放| 日韩av资源在线播放| 亚洲国产另类久久精品| 亚洲欧美综合另类中字| 亚洲一区二区三区成人在线视频精品| 亚洲国产精品va在线看黑人动漫| 久久天天躁狠狠躁夜夜躁| …久久精品99久久香蕉国产| 最近2019中文字幕mv免费看|