今天分享的脚本,实际上针对批量卸载Office 2003和安装Open Office结果的确认,脚本只返回软件名称中包含有“office”和“Java”的软件名称(去除这个限制,即可返回所有已安装的软件列表。
 
        如果你的企业中安装了资产管理软件就另当别论了(如果您想使用开源的资产管理产品,可以去体验一下OCS和GLPI,有类似于OTRS的功能)。
 
    
 
  1. '*************************************************  
  2. ' Script : Check MS Office & OpenOffice   
  3. ' Last Modified : 2010-08-03   
  4. ' Version : 1.0   
  5. '*************************************************  
  6.  
  7. On Error Resume Next      
  8.  
  9. Const HKLM  = &H80000002   
  10. Const strKeyPath  = "Software\Microsoft\Windows\CurrentVersion\Uninstall\"   
  11. Const ForReading  = 1   
  12. Const ForAppending = 8   
  13.  
  14. Set Wshell  = CreateObject("Wscript.Shell")   
  15. Set objFSO  = CreateObject("Scripting.FileSystemobject")   
  16. Set objFile   = objFSO.OpenTextFile("c:\AllPC.txt")   
  17. Set textWriteFile  = objFSO.OpenTextFile("c:\CheckLog.txt",ForAppending,True)   
  18.  
  19. Do      
  20. strComputer =objFile.ReadLine   
  21. Set objReg  = GetObject("winmgmts://" & strComputer & "/root/default:StdRegProv")   
  22. objReg.EnumKey HKLM, strKeyPath,arrSubKeys   
  23.  
  24.   For Each strSubKey In arrSubKeys   
  25.          intRet = objReg.GetStringValue(HKLM, strKeyPath & strSubKey,"DisplayName",strValue)           
  26.            
  27.          If strValue <> "" And intRet = 0 And inStr(1,strValue,"Office",1) >0 Then   
  28.               WScript.Echo strComputer & "    " & strValue   
  29.               textWriteFile.WriteLine(strComputer & "    " & strValue)   
  30.          End If   
  31.       
  32.      If strValue <> "" And intRet = 0 And inStr(1,strValue,"Java",1) >0 Then   
  33.               WScript.Echo strComputer & "    " & strValue   
  34.               textWriteFile.WriteLine(strComputer & "    " & strValue)   
  35.      End If   
  36.               
  37.   Next   
  38. Loop Until objFile.AtEndOfStream      
  39.  
  40. textWriteFile.Close   
  41. objFile.Close      
  42.  
 
其中 c:\AllPC.txt 为目标计算机列表,以便实现批量的检查,而c:\CheckLog.txt则为脚本执行后输出的日志。
 
使用方法:请使用具有本地管理员权限的用户以Cscript(默认情况下为Wscript方式)方式运行。