'Copyright SMSUtils (2005) 'Send Feedback/Suggestions to matt.broadstock@gmail.com Option Explicit 'On Error Resume Next Dim objWMIService, SWBemlocator, UserName, Password Dim strSMSServer, strSMSSite, strOutputFile Dim objFSO, objOutputFile Dim strProgramQuery, strPackageQuery Dim colPrograms, objProgram, colPackages, objPackage Const ForReading = 1, ForWriting = 2, ForAppending = 8 strOutputFile = "SMS Program_Disabled Programs.txt" strSMSServer = "stl-ic-sms1" strSMSSite = "009" UserName = "" Password = "" Set objFSO = CreateObject("Scripting.FileSystemObject") Set objOutputFile = objFSO.CreateTextFile(strOutputFile, ForWriting) 'Add header to output file objOutputFile.WriteLine("PackageName" & vbTab & "PackageID" & vbTab & "ProgramName" & vbTab & "ProgramFlags" & vbTab & _ "ProgramFlags-Hex" & vbTab & "CommandLine") Set SWBemlocator = CreateObject("WbemScripting.SWbemLocator") Set objWMIService = SWBemlocator.ConnectServer(strSMSServer,"\root\sms\site_" & strSMSSite,UserName,Password) strProgramQuery = "Select * from SMS_Program" Set colPrograms = objWMIService.ExecQuery(strProgramQuery,,48) For Each objProgram in colPrograms If (objProgram.ProgramFlags And &H1100) Then 'WScript.Echo objProgram.PackageID & vbTab & vbTab & objProgram.ProgramName & objProgram.ProgramFlags & vbTab & Hex(objProgram.ProgramFlags) & vbTab & objProgram.CommandLine strPackageQuery = "Select Name from SMS_Package where PackageID='" & objProgram.PackageID & "'" Set colPackages = objWMIService.ExecQuery(strPackageQuery,,48) For Each objPackage In colPackages 'WScript.echo objPackage.Name & vbTab & objProgram.PackageID & vbTab & objProgram.ProgramName & vbTab & objProgram.ProgramFlags & vbTab & Hex(objProgram.ProgramFlags) & vbTab & objProgram.CommandLine objOutputFile.WriteLine(objPackage.Name & vbTab & objProgram.PackageID & vbTab & objProgram.ProgramName & _ vbTab & objProgram.ProgramFlags & vbTab & Hex(objProgram.ProgramFlags) & vbTab & objProgram.CommandLine) Next End If Next WScript.Echo "SMS Program_Disabled script complete."