2015-10-16 71 views
0

我需要为我的工作跟踪旧版软件。我需要报告已安装的实例和最新的实例。 Adobe Flash Player和Adobe Air一起被追踪。目前我们检查报告并手动添加每个版本的编号。我也拉动旧版本尝试手动远程修补。SCCM 2007通过版本筛选安装的软件查询

这里是我的查询语句列出所有实例

select SMS_R_System.Name, SMS_G_System_ADD_REMOVE_PROGRAMS.DisplayName, SMS_G_System_ADD_REMOVE_PROGRAMS.Version from SMS_R_System inner join SMS_G_System_ADD_REMOVE_PROGRAMS on SMS_G_System_ADD_REMOVE_PROGRAMS.ResourceID = SMS_R_System.ResourceId where SMS_G_System_ADD_REMOVE_PROGRAMS.DisplayName like "%Adobe AIR%" and SMS_G_System_ADD_REMOVE_PROGRAMS.InstallDate is not null or SMS_G_System_ADD_REMOVE_PROGRAMS.DisplayName like "%Adobe Flash Player%" order by SMS_R_System.Name 

这不是一个问题,但是当我尝试拉太旧版本是不容易。可接受的版本包括Adobe Air 19.0.0.190,Adobe Flash Player 18.0.0.241和Adobe Flash Player 19.0.0.190。

select SMS_R_System.Name, SMS_G_System_ADD_REMOVE_PROGRAMS.DisplayName, SMS_G_System_ADD_REMOVE_PROGRAMS.Version from SMS_R_System inner join SMS_G_System_ADD_REMOVE_PROGRAMS on SMS_G_System_ADD_REMOVE_PROGRAMS.ResourceID = SMS_R_System.ResourceId where SMS_G_System_ADD_REMOVE_PROGRAMS.DisplayName like "%Adobe AIR%" and SMS_G_System_ADD_REMOVE_PROGRAMS.InstallDate is not null and (SMS_G_System_ADD_REMOVE_PROGRAMS.Version like "[0-9].%" or SMS_G_System_ADD_REMOVE_PROGRAMS.Version like "1[0-8].%" or SMS_G_System_ADD_REMOVE_PROGRAMS.Version like "19.0.0.[0-9]" or SMS_G_System_ADD_REMOVE_PROGRAMS.Version like "19.0.0.[0-9][0-9]" or SMS_G_System_ADD_REMOVE_PROGRAMS.Version like "19.0.0.1[0-8][0-9]") or SMS_G_System_ADD_REMOVE_PROGRAMS.DisplayName like "%adobe flash player%" and (SMS_G_System_ADD_REMOVE_PROGRAMS.Version like "[0-9].%" or SMS_G_System_ADD_REMOVE_PROGRAMS.Version like "1[0-7].%" or SMS_G_System_ADD_REMOVE_PROGRAMS.Version like "18.0.0.[0-9]" or SMS_G_System_ADD_REMOVE_PROGRAMS.Version like "18.0.0.[0-9][0-9]" or SMS_G_System_ADD_REMOVE_PROGRAMS.Version like "18.0.0.1[0-9][0-9]" or SMS_G_System_ADD_REMOVE_PROGRAMS.Version like "18.0.0.2[0-3][0-9]" or SMS_G_System_ADD_REMOVE_PROGRAMS.Version like "18.0.0.240" or SMS_G_System_ADD_REMOVE_PROGRAMS.Version like "19.0.0.[0-9]" or SMS_G_System_ADD_REMOVE_PROGRAMS.Version like "19.0.0.[0-9][0-9]" or SMS_G_System_ADD_REMOVE_PROGRAMS.Version like "19.0.0.1[0-7][0-9]" or SMS_G_System_ADD_REMOVE_PROGRAMS.Version like "19.0.0.18[0-4]") order by SMS_R_System.Name 

这有效,但是当版本改变时,几乎不可能更新而不会搞乱。我拉两个列表,并比较他们4或5次,以找到我失踪的东西。

反正有SCCM/MS SQL来比较版本号吗?

WHERE Version < 19.0.0.190 

我尝试了一个基于此查询,但它似乎比较每个数字或类似的效果。例如(7.2> 7.11或7.0.1.0> 16.0.0.111)我还没有找到SCCM特定解决方案。如果MS不支持更好的方法,我会感到震惊。

这只是一个例子。有很多程序我们使用#。#版本跟踪一些,有些使用#。#。#。#版本,并且该版本或多或少取决于版本。灵活的解决方案将会非常棒。

对不起,格式非常糟糕。自从3年前的两周课程是MS访问以来,我自学并没有触及SQL。

回答

0

这仅仅是一目了然的回复,但你可以做一个声明......

(和版本像18### 版> 18.0.0.184) 或 (如版本19###### 和版本> 19.0.0.190)

相关问题