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

首頁 > 編程 > VBScript > 正文

用vbs實現獲取電腦硬件信息的腳本_最新版第1/4頁

2019-10-26 18:00:38
字體:
來源:轉載
供稿:網友

代碼一:

'******************************************************************************************* 'Version:3.1 ' 調整錯誤處理方法,錯誤信息輸出到LogFile文件,可以查看掃描失敗原因 ' 如果出現“RPC 服務器不可用”錯誤,是因為遠程主機沒開機 ' 如果出現“RPC 服務器不可用”之外的錯誤,可能是由于正在運行的程序造成,請你把此信息告訴我 ' 重啟后再次掃描就可以排除非“RPC 服務器不可用?!钡腻e誤 ' 如果掃描到的硬件信息為空,應該是驅動問題(或BIOS不完善),請自行解決 'Version:3.0 ' 增加輸出BIOS的發行日期,和主板信息放在一起 'Version:2.9 ' 修正所有GetInfo過程遇錯的處理方法,避免返回的數組上限不符合輸出要求導致腳本報錯。 ' 之所以為出現這種情況,是因為Win32類檢索不到硬件或連接到Win32類失??; ' 原來判斷是否出現Err,忽略了檢索不到硬件的情況(連接成功無Err,Count為0) ' 檢索不到硬件多數是因為驅動沒裝好 'Version:2.8 ' 增加GetIDEProtocol過程,獲取IDE控制器使用的協議,只是增加了代碼,沒有調用 ' 計劃增加檢索其它存儲器控制器的過程 'Version:2.7 ' 檢索硬盤/顯卡/網卡/聲卡的過程增加 DeviceID 屬性(設備標識符) ' 此屬性不被輸出,用于腳本內部判斷 'Version:2.6 ' 原來輸出搜索到的第一個硬盤 ' 改為輸出搜索到的第一個InterfaceType屬性為IDE的硬盤的信息 'Version:2.5 ' 增加Sort過程,排序硬件信息 'Version:2.4 ' 調整輸出信息的分類,同類信息盡可能的只使用一個逗號分隔,以便導入xls后在同一列 ' 查詢到的硬件信息如果是空或0,有可能是相關驅動不完善或未定義此信息,也可能是未安裝驅動 ' 因為WMI查詢就代表了系統知道這些硬件的詳細信息,查不到信息就是系統不知道 ' 系統不知道硬件的詳細信息,代表著性能可能有所缺失,建議找個好驅動安裝 ' 值得注意的是主板驅動 ' (為了更容易理解,此版本的升級信息被編輯過) 'Version:2.3 ' 取消2.2版增加輸出的硬盤接口類型 ' 由于STAT也歸于IDE接口,這會導致誤解 ' PS:腳本只輸出搜索到的第一個硬盤 'Version:2.2 ' GetMemoryInfo過程增加MemoryType、FormFactor、TypeDetail三個屬性 ' 輸出增加內存類型、封裝類型 ' 輸出增加硬盤容量、接口類型 'Version:2.1 ' GetOSInfo過程增加去掉Caption屬性中帶有的逗號“,”的代碼 ' 原因:在檢測2003系統時,讀取到的Caption屬性,帶有逗號“,” ' 這會影響輸出,因為輸出是以逗號“,”為分隔符的 'Version:2.0 B5發布版 ' GetNetworkInfo過程改為使用MACAddress屬性非空、 ' Manufacturer屬性非"Microsoft"判斷網卡 'Version:2.0 Beta4 ' GetNetworkInfo過程使用NetConnectionStatus屬性判斷網絡適配器 ' NetConnectionStatus屬性表明連接狀態(2000系統不支持此屬性) ' 物理網絡適配器才具有此狀態(包括停用狀態在內) 'Version:2.0 Beta3 ' GetNetworkInfo過程增加一個判斷 ' 忽略讀取IPAddress(0)時會產生Err類型數據的適配器(對戰平臺) 'Version:2.0 Beta2 ' GetOSInfo過程原來使用的Name、ServicePackMajorVersion屬性 ' 改為使用Caption、CSDVersion屬性 ' 所有GetInfo過程增加錯誤處理代碼,避免正在掃描的時候 ' 腳本遇到運行時錯誤導致腳本退出 'Version:2.0 Beta1 ' 增加掃描失敗記錄,再次運行腳本只讀取失敗記錄,忽略配置信息 'Version:1.1 ' GetNetworkInfo過程增加一個判斷 ' 忽略NetConnectionID屬性(接口名稱)為空的適配器 'Version:1.0 ' 初始版本 Option Explicit '************************************** '作 者: LZ-MyST QQ:8450919 'http://hi.baidu.com/lzmyst 'http://www.clxp.net.cn 'E-Mail:lzmyst@163.com '你可以任意編輯、引用腳本的全部或部分代碼 '轉貼、引用腳本的全部或部分代碼請保留版權 '************************************** '********************************說明開始************************************* 'Input格式:起始IP-數量=用戶名=密碼;起始計算機名-數量=用戶名=密碼 ' 多個配置項用“;”隔開 '例:192.168.0.1-10指明IP范圍為192.168.0.1~192.168.0.10,支持跨網段 '例:PC001-10指明范圍為PC001~PC010(計算機名可以包含-號) '與指定格式不相同的,默認為單IP[計算機名],也可以在"未掃描的計算機.txt"里配置 '"硬件信息.txt"是以逗號分隔各項硬件信息,你需要自己導入XLS整理、精簡 '未掃描到的計算機,會把機號、用戶名、密碼保存到"未掃描的計算機.txt" '再次運行腳本將只讀取"未掃描的計算機.txt"里的信息(如果存在并且大小不為0) '********************************說明結束************************************* Dim Input, InfoOutFile, LogFile '請按格式給Input賦值 'Input = "pc021=administrator=cylslynetbar" Input = "PC001-109=administrator=cylslynetbar;pc110-85=administrator=LYjfnetbaradmin" InfoOutFile = "硬件信息.txt" LogFile = "未掃描的計算機.txt" Redim arrConfig(0) Dim WshShell, FSO, intCount1, intCount2 intCount1 = 0 intCount2 = 0 Set WshShell = WScript.CreateObject("WScript.Shell") Set FSO = WScript.Createobject("Scripting.Filesystemobject") ReadConfig WshShell.Popup "掃描過程會很慢,請耐心等待,完成后會給出提示",,"掃描開始" LinkRemoteServer arrConfig Dim LenNum1, LenNum2 If intCount1 > intCount2 Then LenNum1 = 0 LenNum2 = Len(intCount1) - Len(intCount2) Else LenNum1 = Len(intCount2) - Len(intCount1) LenNum2 = 0 End If Sort InfoOutFile WshShell.Popup "掃描結果:" & _ vbCrLf & vbTab & "掃描成功:" & Space(LenNum1) & intCount1 & " 臺" & _ vbCrLf & vbTab & "掃描失敗:" & Space(LenNum2) & intCount2 & " 臺" & _ vbCrLf & "掃描失敗的電腦已做記錄,再次運行腳本只掃描記錄里的電腦",,"掃描完成" Function ReadConfig Dim objMatches, objMatche,objLogFile, arrLog, intUBarrConfig If FSO.FileExists(LogFile) Then If FSO.GetFile(LogFile).Size = 0 Then Set objMatches = GetMatche("([^;=]+)=([^;=]+)=([^;=]+)", Input) For Each objMatche In objMatches GetConfig objMatche.SubMatches(0), objMatche.SubMatches(1), objMatche.SubMatches(2) Next If objMatches.Count = 0 Then Msgbox "配置信息格式不正確,請修改" WScript.Quit End If Else Set objLogFile = FSO.OpenTextFile(LogFile) Do Until objLogFile.AtEndOfStream arrLog = Split(objLogFile.ReadLine,"=") intUBarrConfig = ((Ubound(arrConfig)+1)/3+1)*3-1 Redim Preserve arrConfig(intUBarrConfig) arrConfig(intUBarrConfig-2) = arrLog(0) arrConfig(intUBarrConfig-1) = arrLog(1) arrConfig(intUBarrConfig-0) = arrLog(2) Loop End If Else Set objMatches = GetMatche("([^;=]+)=([^;=]+)=([^;=]+)", Input) For Each objMatche In objMatches GetConfig objMatche.SubMatches(0), objMatche.SubMatches(1), objMatche.SubMatches(2) Next If objMatches.Count = 0 Then Msgbox "配置信息格式不正確,請修改" WScript.Quit End If End If End Function '********************************************************************************* '目的:連接到遠程主機的WMI命名空間 '輸入:arrArray數組,包含有計算機名[IP]、用戶名、密碼 '調用:LinkServer過程 ' 如果返回SWbemLocator對象ConnectServer方法的實例,調用OutInfo過程 ' 如果返回Err信息(字符串類型),輸出計算機名[IP]、用戶名、密碼及錯誤信息到LogFile文件 ' OutInfo過程 ' 如果返回Err信息(字符串類型)輸出計算機名[IP]、用戶名、密碼及錯誤信息到LogFile文件 '傳遞:SWbemLocator對象ConnectServer方法的實例傳遞給OutInfo過程 ' 計算機名[IP]、命名空間、用戶名、密碼傳遞給LinkServer過程 '********************************************************************************* Function LinkRemoteServer(arrArray) Dim objErrLog, E, objLinkServer, objConnection, objWbemLocator, objErr Set objWbemLocator = CreateObject("WbemScripting.SWbemLocator") Set objErrLog = FSO.CreateTextFile(LogFile,True) For E = 0 To Ubound(arrArray) Step 3 Set objLinkServer = LinkServer(arrConfig(E),"root/cimv2",arrConfig(E+1),arrConfig(E+2)) If Err Then objErrLog.Writeline arrArray(E) & "=" & arrArray(E+1) & "=" & arrArray(E+2) & "=" & _ "錯誤編號:" & CStr(Err.Number) & _ ",錯誤原因:" & CStr(Err.Description) & _ ",錯誤來源:" & CStr(Err.Source) & " By LinkServer Function" intCount2 = intCount2 + 1 Err.Clear Else objErr = OutInfo(objLinkServer) If Vartype(objErr) = 8 Then objErrLog.Writeline arrArray(E) & "=" & arrArray(E+1) & "=" & arrArray(E+2) & "=" & objErr intCount2 = intCount2 + 1 End If End If Next End Function '****************************************************** '目的:輸出硬件信息 '輸入:SWbemLocator對象ConnectServer方法的實例 '調用:獲取硬件信息的GetXXXInfo過程 '傳遞:SWbemLocator對象ConnectServer方法的實例 '返回:所有調用的GetInfo過程都未返回Err對象,則返回True ' 某個GetInfo過程返回Err對象,則返回False '****************************************************** Function OutInfo(objRemote) Dim OutFile, arrInfo, strOutInfo, Tmp, A If FSO.FileExists(InfoOutFile) Then Set OutFile = FSO.OpenTextFile(InfoOutFile,8) Else Set OutFile = FSO.CreateTextFile(InfoOutFile) OutFile.Writeline "計算機名,系統(初裝日期),主板型號(廠商)(發行日期),CPU型號(接口類型),外頻,L2容量(速度)," & _ "內存總量,內存速度(位置),內存類型(封裝類型),硬盤型號(容量),顯卡型號(顯存),網卡,IP/MAC" End If '系統 arrInfo = GetOSInfo(objRemote) If Vartype(arrInfo) = 8 Then OutInfo = arrInfo Exit Function End If strOutInfo = arrInfo(0) & "," & arrInfo(1) & "(" & arrInfo(2) & ")," '主板 arrInfo = GetBoardInfo(objRemote) If Vartype(arrInfo) = 8 Then OutInfo = arrInfo Exit Function End If strOutInfo = strOutInfo & arrInfo(0) & "(" & arrInfo(1) & ")" 'BIOS arrInfo = GetBIOSInfo(objRemote) If Vartype(arrInfo) = 8 Then OutInfo = arrInfo Exit Function End If strOutInfo = strOutInfo & "(" & arrInfo(2) & ")," 'CPU arrInfo = GetCPUInfo(objRemote) If Vartype(arrInfo) = 8 Then OutInfo = arrInfo Exit Function End If strOutInfo = strOutInfo & arrInfo(1) & "(" & arrInfo(8) & ")," & arrInfo(4) & "," & _ arrInfo(6) & "(" & arrInfo(7) & ")," '內存 arrInfo = GetMemoryInfo(objRemote) If Vartype(arrInfo) = 8 Then OutInfo = arrInfo Exit Function End If Tmp = 0 For A = 1 To Ubound(arrInfo) Step 6 Tmp = Tmp + Cint(arrInfo(A)) Next strOutInfo = strOutInfo & arrInfo(0) & "條,共" & Tmp & "M," Tmp = "" For A = 2 To Ubound(arrInfo) Step 6 If A = Ubound(arrInfo) - 4 Then Tmp = Tmp & arrInfo(A) & "(" & arrInfo(A+1) & ")," Else Tmp = Tmp & arrInfo(A) & "(" & arrInfo(A+1) & ") " End If Next strOutInfo = strOutInfo & Tmp Tmp = "" For A = 4 To Ubound(arrInfo) Step 6 If A = Ubound(arrInfo) - 2 Then Tmp = Tmp & arrInfo(A) & "(" & arrInfo(A+1) & ")," Else Tmp = Tmp & arrInfo(A) & "(" & arrInfo(A+1) & ") " End If Next strOutInfo = strOutInfo & Tmp '硬盤 Tmp = "" arrInfo = GetDiskInfo(objRemote) If Vartype(arrInfo) = 8 Then OutInfo = arrInfo Exit Function End If For A = 1 To Ubound(arrInfo) Step 5 If arrInfo(A+1) = "IDE" Then Tmp = arrInfo(A) & "(" & arrInfo(A+2) & "G)," Exit For End If Next If Tmp = "" Then strOutInfo = strOutInfo & "硬盤型號未檢索到," Else strOutInfo = strOutInfo & Tmp End If '顯卡 arrInfo = GetVideoInfo(objRemote) If Vartype(arrInfo) = 8 Then OutInfo = arrInfo Exit Function End If strOutInfo = strOutInfo & arrInfo(0) & "(" & arrInfo(1) & "M)," '網卡 arrInfo = GetNetworkInfo(objRemote) If Vartype(arrInfo) = 8 Then OutInfo = arrInfo Exit Function End If strOutInfo = strOutInfo & arrInfo(1) & "," & arrInfo(2) & Space(17-Len(arrInfo(2))) & arrInfo(3) '輸出 OutFile.Writeline strOutInfo intCount1 = intCount1 + 1 OutInfo = True End Function '********************************************************* '目的:連接到遠程主機的WMI命名空間 '輸入:strComputer:遠程主機的計算機名或IP ' strNamespace:命令空間 ' strUserName:用戶名 ' strPassword:密碼 '返回:連接成功,返回SWbemLocator類連接遠程主機后的對象的實例 ' 連接失敗,返回錯誤對象 '********************************************************* Function LinkServer(strComputer,strNamespace,strUserName,strPassword) Dim objWbemLocator Set objWbemLocator = CreateObject("WbemScripting.SWbemLocator") Dim objConnection On Error Resume Next Set objConnection = objwbemLocator.ConnectServer _ (strComputer, strNamespace, strUserName, strPassword) If Err Then Set LinkServer = Err Exit Function End If On Error Goto 0 objConnection.Security_.ImpersonationLevel = 3 Set LinkServer = objConnection End Function '****************************************** '目的:正則表達式 '輸入:strPatrn:正則表達式模式 ' strString:要執行正則表達式的字符串 '返回:Match對象 '****************************************** Function GetMatche(strPatrn, strString) Dim RegEx Set RegEx = New Regexp RegEx.Global = True RegEx.IgnoreCase =True RegEx.Pattern = strPatrn Set GetMatche = RegEx.Execute(strString) End Function '*************************************** '目的:2、8、16進制轉10進制 '輸入:strString:2、8、16進制數 ' intNum:進制(2|8|16) '返回:10進制數 '*************************************** Function ChangeToDecimal(strString, intNum) ChangeToDecimal = 0 If Isnull(strString) Then ChangeToDecimal = 0 : Exit Function Dim A, M For A = 1 To Len(strString) M = LCase(Mid(strString, A, 1)) Select Case M Case "a" :M = 10 Case "b" :M = 11 Case "c" :M = 12 Case "d" :M = 13 Case "e" :M = 14 Case "f" :M = 15 End Select ChangeToDecimal = ChangeToDecimal + M * intNum^(Len(strString)-A) Next End Function 1234下一頁閱讀全文

您可能感興趣的文章:

用VBS控制鼠標的實現代碼(獲取鼠標坐標、鼠標移動、鼠標單擊、鼠標雙擊、鼠標右擊)獲取外網IP并發送到指定郵箱的vbs代碼[已測]vbs 獲取當前目錄的實現代碼VBS獲取當前目錄下所有文件夾名字的代碼vbs獲取當前時間日期的代碼vbscript獲取文件的創建時間、最后修改時間和最后訪問時間的方法vbs中獲取腳本當前路徑的2個方法通過vbs獲取遠程host文件并保存到指定目錄VBScript獲取CPU使用率的方法使用vbs獲取雅虎匯率
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
日韩视频免费大全中文字幕| 亚洲国产天堂久久综合| 538国产精品一区二区在线| 成人黄色短视频在线观看| 国产精品小说在线| 福利一区视频在线观看| 欧美老女人xx| 国产精品18久久久久久首页狼| 最近更新的2019中文字幕| 免费91在线视频| 国产日韩欧美自拍| 国产日韩中文在线| 亚洲在线一区二区| 8090理伦午夜在线电影| 久久99青青精品免费观看| 亚洲国产欧美在线成人app| 2020国产精品视频| 久久99热精品这里久久精品| 欧美激情一二区| 日韩中文字幕国产精品| 欧美肥老太性生活视频| 成人黄色在线免费| 精品成人国产在线观看男人呻吟| 91av网站在线播放| 7777免费精品视频| 性欧美暴力猛交69hd| 亚洲欧洲在线播放| 久久久91精品国产| 最新中文字幕亚洲| 成人免费看吃奶视频网站| 日韩在线观看电影| 国产欧美一区二区三区久久| 国产精品免费一区二区三区都可以| 2019亚洲男人天堂| 亚洲香蕉伊综合在人在线视看| 国内成人精品视频| 欧美精品性视频| 久久久av亚洲男天堂| 国产日韩在线视频| 欧美精品午夜视频| 精品亚洲一区二区三区四区五区| 成人激情视频免费在线| 亚洲国产欧美一区二区三区久久| 欧美高清videos高潮hd| 久久久综合免费视频| 激情久久av一区av二区av三区| 欧美日韩精品在线| 狠狠躁夜夜躁人人爽超碰91| 亚洲在线视频福利| 日韩hd视频在线观看| 26uuu另类亚洲欧美日本一| 国产亚洲精品久久久优势| 午夜精品一区二区三区视频免费看| 久热国产精品视频| 欧美在线亚洲一区| 日韩网站免费观看高清| 欧美午夜片欧美片在线观看| 亚洲色图50p| 国产精品手机播放| 亚洲免费视频网站| 国产91精品网站| 欧美猛交免费看| 久久电影一区二区| 爽爽爽爽爽爽爽成人免费观看| 久久亚洲综合国产精品99麻豆精品福利| 日本人成精品视频在线| 91精品综合视频| 成人精品一区二区三区| 精品福利樱桃av导航| 亚洲视频欧美视频| 国产精品美女在线观看| 中文字幕亚洲一区在线观看| 亚洲va男人天堂| 久久久999精品免费| 久久视频免费观看| 日韩中文字幕精品视频| 国产精品一区二区久久精品| 欧美成人中文字幕在线| 国产不卡一区二区在线播放| 精品久久久一区| 亚洲在线免费观看| 日韩高清av一区二区三区| 日本一区二区三区四区视频| 国产在线视频欧美| 欧美性猛交xxxx富婆弯腰| 亚洲美女黄色片| 欧美激情a在线| 久久综合久久八八| 伊人伊人伊人久久| 日韩女在线观看| 亚洲欧美日韩天堂一区二区| 国外成人免费在线播放| 2021久久精品国产99国产精品| 欧美日韩国产中文精品字幕自在自线| 日韩美女视频在线观看| 欧美一级淫片播放口| 国产一区二中文字幕在线看| 日韩av大片在线| 福利视频第一区| 国产精品久久999| 亚洲第一网站男人都懂| 久久久久久国产免费| 成人午夜高潮视频| 亚洲精品98久久久久久中文字幕| 亚洲午夜国产成人av电影男同| 亚洲人成啪啪网站| 国产精品偷伦视频免费观看国产| 97视频在线观看成人| 日韩欧美在线中文字幕| 91久久中文字幕| 91av在线免费观看| 不卡av在线网站| 亚洲精品成a人在线观看| 91精品国产91| 日本亚洲欧美三级| 一本久久综合亚洲鲁鲁| 亚洲精品国产综合区久久久久久久| 国产成人短视频| 国产午夜精品久久久| 精品视频—区二区三区免费| 亚洲www视频| 国产成人极品视频| 国产久一一精品| 精品免费在线观看| 精品无人国产偷自产在线| 色黄久久久久久| 日本欧美国产在线| 精品一区二区亚洲| 永久免费精品影视网站| 久久久久一本一区二区青青蜜月| 欧美精品少妇videofree| 国产精品福利在线观看| 欧美美女15p| 久久不射电影网| 视频在线一区二区| 91香蕉电影院| 欧美日韩免费区域视频在线观看| 欧美另类xxx| 国产精品永久免费在线| 国产一区二区三区三区在线观看| 亚洲国产免费av| 91精品国产色综合久久不卡98口| 国产精品丝袜视频| 亚洲国产日韩欧美综合久久| 亚洲成人激情视频| 亚洲第一av在线| 黑人巨大精品欧美一区二区| 国产精品毛片a∨一区二区三区|国| 欧美乱大交做爰xxxⅹ性3| 亚洲国产一区二区三区在线观看| 成人免费观看a| 亚洲精美色品网站| 亚洲免费视频网站| 国产亚洲欧洲高清一区| 国产成人精品在线观看| 欧美不卡视频一区发布| 亚洲欧美www| 精品亚洲男同gayvideo网站| 91亚洲永久免费精品| 91av国产在线| 日韩在线资源网| 欧美不卡视频一区发布| 亚洲人精选亚洲人成在线| 欧美激情免费观看|