欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

怎么用VBS腳本收集遠(yuǎn)程計(jì)算機(jī)或本地計(jì)算機(jī)安裝的軟件-創(chuàng)新互聯(lián)

本篇內(nèi)容主要講解“怎么用VBS腳本收集遠(yuǎn)程計(jì)算機(jī)或本地計(jì)算機(jī)安裝的軟件”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實(shí)用性強(qiáng)。下面就讓小編來帶大家學(xué)習(xí)“怎么用VBS腳本收集遠(yuǎn)程計(jì)算機(jī)或本地計(jì)算機(jī)安裝的軟件”吧!

創(chuàng)新互聯(lián)專注于雙江企業(yè)網(wǎng)站建設(shè),成都響應(yīng)式網(wǎng)站建設(shè)公司,商城系統(tǒng)網(wǎng)站開發(fā)。雙江網(wǎng)站建設(shè)公司,為雙江等地區(qū)提供建站服務(wù)。全流程定制網(wǎng)站制作,專業(yè)設(shè)計(jì),全程項(xiàng)目跟蹤,創(chuàng)新互聯(lián)專業(yè)和態(tài)度為您提供的服務(wù)

目標(biāo)

用VBS腳本收集域中遠(yuǎn)程計(jì)算機(jī)或本地計(jì)算機(jī)安裝的軟件,Windows版本。并將收集的結(jié)果保存到計(jì)算機(jī)名為文件名的文本文件中。文本文件可以保存到網(wǎng)絡(luò)路徑中或當(dāng)前VBS文件所在目錄。同時(shí)支持32位和64位系統(tǒng)。
并過濾到一些補(bǔ)丁包、Office組件、NVIDIA、Intel®的驅(qū)動(dòng)等。

制作VBS腳本

保存下面的VBS程序代碼到vbs文件中

On Error Resume Next  

Const HKCU   = &h80000001
Const HKLM   = &H80000002
Const strKeyPath = "Software\Microsoft\Windows\CurrentVersion\Uninstall\"
Const str64KeyPath = "SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\"
Const ForReading = 1
Const ForWriting = 2
Const ForAppending = 8

'FilePath  = "\\Server-File\PCSoftList\"
FilePath  = CreateObject("Scripting.FileSystemObject").GetFolder(".").Path & "\"
Set Wshell   = CreateObject("Wscript.Shell")
Set objFSO   = CreateObject("Scripting.FileSystemobject")

'Set collected computers Name
set argus=wscript.arguments
if argus.count=0 then
 strComputerName = Wshell.RegRead("HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\Hostname")
else
 strComputerName = argus(0)
end if

Set textWriteFile = objFSO.OpenTextFile(FilePath & ucase(strComputerName) &".txt",ForWriting,True,True)

Set objReg = GetObject("winmgmts://" & strComputerName & "/root/default:StdRegProv")

'Get OS Version
intRet = objReg.GetStringValue(HKLM, "SOFTWARE\Microsoft\Windows NT\CurrentVersion","ProductName",strOSVersion)
If intRet = 0 Then
 intRet = objReg.GetStringValue(HKLM, "SOFTWARE\Microsoft\Windows NT\CurrentVersion","CSDVersion",strOSServicePack)
 intRet = objReg.GetStringValue(HKLM, "SOFTWARE\Wow6432Node\Microsoft\Windows NT\CurrentVersion","ProductName",str64BitOSVersion)
 if intRet = 0 then
  strOSVersion = strOSVersion & " 64bit"
 end if
 intRet = objReg.GetStringValue(HKLM, "SYSTEM\CurrentControlSet\Control\Nls\Language","InstallLanguage",OSLanguageCode)
 if intRet = 0 then
  select case OSLanguageCode
  case "0804" '中文
   strOSVersion = strOSVersion & " Chinese Version"
  case "0411" '日文
   strOSVersion = strOSVersion & " Japanese Version"
  case "0409" '英文
   strOSVersion = strOSVersion & " English Version"
  case else '未知語言
   strOSVersion = strOSVersion & " UnknownLanguage Version"
  end select
 end if
Else
 strOSVersion = "OS Get Failed"
 strOSServicePack = "NoFind"
End If
if InStr(LCase(strOSVersion),"windows")>0 then
 textWriteFile.WriteLine("""" & ucase(strComputerName) & """" & vbTab & """" & strOSVersion & """" & vbTab & """" & strOSServicePack & """")
end if

'Display User Software.
objReg.EnumKey HKCU, strKeyPath,arrSubKeys
For Each strSubKey In arrSubKeys
 intGet = objReg.GetDWORDValue(HKCU, strKeyPath & strSubKey,"SystemComponent",intSystemComponent)
 If IsNull(intSystemComponent) then
  intSystemComponent = 0
 End If
 intRet = objReg.GetStringValue(HKCU, strKeyPath & strSubKey,"ParentDisplayName",strName)
 If intSystemComponent = 0 and intRet > 0 then
  intRet = objReg.GetStringValue(HKCU, strKeyPath & strSubKey,"DisplayName",strName)
  If strName <> "" And intRet = 0 And ignorePgm(strName) Then
   strName = replace(replace(strName,vbCrLf,""),vbTab,"")
   intRet = objReg.GetStringValue(HKCU, strKeyPath & strSubKey,"DisplayVersion",strVersion)
   textWriteFile.WriteLine("""" & ucase(strComputerName) & """" & vbTab & """" & strName & """" & vbTab & """" & strVersion & """")
  End If
 End If
Next

'Display Machine 32bit Software.
objReg.EnumKey HKLM, strKeyPath,arrSubKeys
For Each strSubKey In arrSubKeys
 intGet = objReg.GetDWORDValue(HKLM, strKeyPath & strSubKey,"SystemComponent",intSystemComponent)
 If IsNull(intSystemComponent) then
  intSystemComponent = 0
 End If
 intRet = objReg.GetStringValue(HKLM, strKeyPath & strSubKey,"ParentDisplayName",strName)
 If intSystemComponent = 0 and intRet > 0 then
  intRet = objReg.GetStringValue(HKLM, strKeyPath & strSubKey,"DisplayName",strName)
  If strName <> "" And intRet = 0 And ignorePgm(strName) Then '
   strName = replace(replace(strName,vbCrLf,""),vbTab,"")
   intRet = objReg.GetStringValue(HKLM, strKeyPath & strSubKey,"DisplayVersion",strVersion)
   textWriteFile.WriteLine("""" & ucase(strComputerName) & """" & vbTab & """" & strName & """" & vbTab & """" & strVersion & """")
  End If
 End If
Next

'Display Machine 64bit Software.
objReg.EnumKey HKLM, str64KeyPath,arrSubKeys
For Each strSubKey In arrSubKeys
 intGet = objReg.GetDWORDValue(HKLM, str64KeyPath & strSubKey,"SystemComponent",intSystemComponent)
 If IsNull(intSystemComponent) then
  intSystemComponent = 0
 End If
 intRet = objReg.GetStringValue(HKLM, str64KeyPath & strSubKey,"ParentDisplayName",strName)
 If intSystemComponent = 0 and intRet > 0 then
  intRet = objReg.GetStringValue(HKLM, str64KeyPath & strSubKey,"DisplayName",strName)
  If strName <> "" And intRet = 0 And ignorePgm(strName) Then
   strName = replace(replace(strName,vbCrLf,""),vbTab,"")
   intRet = objReg.GetStringValue(HKLM, str64KeyPath & strSubKey,"DisplayVersion",strVersion)
   textWriteFile.WriteLine("""" & ucase(strComputerName) & """" & vbTab & """" & strName & """" & vbTab & """" & strVersion & """")
  End If
 End If
Next

textWriteFile.Close

function ignorePgm(strPgm)
 If inStr(1,strPgm,"Microsoft Office ",1)<=0 then
  '不輸出Security Update、.NET Framework、Microsoft Visual C++、NVIDIA、Intel(R)的程序
  ignorePgm = inStr(1,strPgm,"Security Update",1)<=0 _
   And inStr(1,strPgm,".NET Framework",1)<=0 _
   And inStr(1,strPgm,"Microsoft Visual C++",1)<=0 _
   And inStr(1,strPgm,"NVIDIA",1)<=0 _
   And inStr(1,strPgm,"Intel(R)",1)<=0
 Else
  '讓個(gè)版本的Office能正常輸出
  ignorePgm = inStr(1,strPgm,"Microsoft Office ",1)>0 _
     And (inStr(1,strPgm," 2000 ",1)>0 _
      Or inStr(1,strPgm," 2003 ",1)>0 _
      Or (inStr(1,strPgm,"Microsoft Office Access ",1)=1 And inStr(1,strPgm," MUI",1)<=0) _
      Or strPgm="Microsoft Office Professional Plus 2007" _
      Or strPgm="Microsoft Office Professional Plus 2010" _
      Or strPgm="Microsoft Office Professional Plus 2016" _
      Or strPgm="Microsoft Office Standard 2007" _
      Or strPgm="Microsoft Office Standard 2010" _
      Or strPgm="Microsoft Office Standard 2016" _
      Or strPgm="Microsoft Office Standard 2019")

 End If
end function

假設(shè)保存的文件名為InstalledSoftList.vbs。保存在D:\

修改結(jié)果文件保存路徑。

請(qǐng)修改下列代碼

'FilePath  = "\\Server-File\PCSoftList\"
FilePath  = CreateObject("Scripting.FileSystemObject").GetFolder(".").Path & "\"

當(dāng)前默認(rèn)是保存到InstalledSoftList.vbs文件所在目錄。可以不修改。

修改過濾條件(設(shè)置不想顯示的程序名)

請(qǐng)修改下列代碼

 '不輸出Security Update、.NET Framework、Microsoft Visual C++、NVIDIA、Intel(R)的程序
  ignorePgm = inStr(1,strPgm,"Security Update",1)<=0 _
   And inStr(1,strPgm,".NET Framework",1)<=0 _
   And inStr(1,strPgm,"Microsoft Visual C++",1)<=0 _
   And inStr(1,strPgm,"NVIDIA",1)<=0 _
   And inStr(1,strPgm,"Intel(R)",1)<=0

默認(rèn)不顯示Security Update、.NET Framework、Microsoft Visual C++、NVIDIA、Intel&reg;的程序
測試前可以不修改

測試

測試方法1

收集當(dāng)前計(jì)算機(jī)安裝的軟件

直接雙擊InstalledSoftList.vbs

假設(shè)計(jì)算機(jī)名為PC-Name01,會(huì)在D:\或指定目錄下生成一個(gè)名為PC-Name01.txt的文件。

測試方法2

收集遠(yuǎn)程計(jì)算機(jī)上安裝的軟件。
在CMD窗口中運(yùn)行下列命令。(假設(shè)計(jì)算機(jī)名為PC-Name02)

cscript d:\InstalledSoftList.vbs PC-Name02

會(huì)在D:\或指定目錄下生成一個(gè)名為PC-Name02.txt的文件。

測試方法2的注意事項(xiàng)

如果運(yùn)行后得到的PC-Name02.txt文件為空文件。請(qǐng)確認(rèn)下列兩項(xiàng)內(nèi)容。

  • 遠(yuǎn)程計(jì)算機(jī)必須于運(yùn)行腳本的計(jì)算機(jī)是同一個(gè)域的成員計(jì)算機(jī)

  • 遠(yuǎn)程計(jì)算機(jī)的防火墻為關(guān)閉狀態(tài),或設(shè)置了【入站規(guī)則】【W(wǎng)indows Management Instrumentation(WMI)】允許

到此,相信大家對(duì)“怎么用VBS腳本收集遠(yuǎn)程計(jì)算機(jī)或本地計(jì)算機(jī)安裝的軟件”有了更深的了解,不妨來實(shí)際操作一番吧!這里是創(chuàng)新互聯(lián)建站,更多相關(guān)內(nèi)容可以進(jìn)入相關(guān)頻道進(jìn)行查詢,關(guān)注我們,繼續(xù)學(xué)習(xí)!

網(wǎng)頁標(biāo)題:怎么用VBS腳本收集遠(yuǎn)程計(jì)算機(jī)或本地計(jì)算機(jī)安裝的軟件-創(chuàng)新互聯(lián)
瀏覽地址:http://www.chinadenli.net/article36/dhsesg.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供App設(shè)計(jì)自適應(yīng)網(wǎng)站ChatGPT手機(jī)網(wǎng)站建設(shè)移動(dòng)網(wǎng)站建設(shè)用戶體驗(yàn)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

成都做網(wǎng)站