SCCM Collection查询以检查Win 7 x86和x64上的Outlook.exe

时间:2015-08-05 03:12:25

标签: sql wmi sccm

我需要使用单个集合来定位win7(x86)和win7(x64)版本以检查Outlook.exe是否安装在程序文件下,但问题出在Win7(x86)下安装目录位于“C”下:\ Program Files \“和Win7(x64)安装目录位于”C:\ Program Files(x86)\“下,因此无法使用一个集合

我在Win7(x86)下面使用的脚本目标,但不是Win7(x64) 有人可以帮助WMI查询我可以同时针对Win7(x86)和(x64)来检查是否已安装Outlook.exe

“SELECT SMS_R_SYSTEM.Client,SMS_R_SYSTEM.Name,SMS_R_SYSTEM.ResourceID,SMS_G_System_SoftwareFile.FilePath,SMS_G_System_SoftwareFile.FileName,SMS_G_System_SoftwareFile.FileVersion FROM SMS_R_SYSTEM INNER JOIN SMS_G_System_SoftwareFile ON SMS_G_System_SoftwareFile.ResourceId = SMS_R_System.ResourceId WHERE SMS_G_System_SoftwareFile.FilePath LIKE“%程序文件\ Microsoft Office \ Office14 \“和SMS_G_System_SoftwareFile.FileName =”WINWORD.EXE“和SMS_G_System_SoftwareFile.FileVersion LIKE”14。%“

1 个答案:

答案 0 :(得分:0)

你快到了,试试这个:

SELECT 
SMS_R_SYSTEM.Client , SMS_R_SYSTEM.Name, SMS_R_SYSTEM.ResourceID,
SMS_G_System_SoftwareFile.FilePath, SMS_G_System_SoftwareFile.FileName,
SMS_G_System_SoftwareFile.FileVersion FROM SMS_R_System 
INNER JOIN SMS_G_System_SoftwareFile ON 
SMS_G_System_SoftwareFile.ResourceId = SMS_R_System.ResourceId 
WHERE 
(
   SMS_G_System_SoftwareFile.FilePath LIKE "%Program Files\Microsoft Office\Office14\" 
   OR 
   SMS_G_System_SoftwareFile.FilePath LIKE "%Program Files (x86)\Microsoft Office\Office14\"
) AND SMS_G_System_SoftwareFile.FileName = "outlook.exe"

那将包括两个文件夹。我还用“outlook.exe”替换了你的“WINWORD.EXE”并删除了FileVersion检查,因为我认为如果它位于“Office14”文件夹中就可以安全地假设它是14版。