This may be a simple question, but can anyone provide me with a query that would result in a collection for all Exchange 2010 Servers?
- Dipindahkan oleh Moiz Rassiwala[MSFT]Microsoft employee 14 Juni 2012 17:38 (From:Configuration Manager 2007 General)
A basic ARP query should suffice. I don't have Exchange 2012 here to reference.
I assume all you need is to look for an Add Remove Programs (ARP) entry for the Exchange 2010 installer.
Select SMS_R_System.ResourceID,SMS_R_System.ResourceType,SMS_R_System.Name, SMS_R_System.SMSUniqueIdentifier,SMS_R_System.ResourceDomainORWorkgroup,SMS_R_System.Client 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 = "<WHATEVER EXCHANGE REPORTS AS IN ARP>"
- Disarankan sebagai Jawaban oleh absern 26 Maret 2013 8:36
You can query AddRemovePrograms as suggested (but as Exchange 2010 is 64-bit only then I think you would need to use Add/Remove Programs(64)) and query for systems where the DisplayName equals 'Microsoft Exchange Server 2010'. The one caveat would be that this will also report systems that have the Exchange Management Console installed but are not running any Exchange services (e.g. a Citrix server that used to publish the Exchange Management Console). If this is the case then you could add an additional filter for services that match a particular pattern e.g.
select SMS_R_SYSTEM.ResourceID,SMS_R_SYSTEM.ResourceType,SMS_R_SYSTEM.Name,SMS_R_SYSTEM.SMSUniqueIdentifier,SMS_R_SYSTEM.ResourceDomainORWorkgroup,SMS_R_SYSTEM.Client from SMS_R_System inner join SMS_G_System_ADD_REMOVE_PROGRAMS_64 on SMS_G_System_ADD_REMOVE_PROGRAMS_64.ResourceID = SMS_R_System.ResourceId inner join SMS_G_System_SERVICE on SMS_G_System_SERVICE.ResourceId = SMS_R_System.ResourceId where SMS_G_System_ADD_REMOVE_PROGRAMS_64.DisplayName = "Microsoft Exchange Server 2010" and SMS_G_System_SERVICE.DisplayName like "Microsoft Exchange%"
Hi Ianram i know this is a bit old but I was also looking for a query for Exchange 2013 but couldn't find one that worked so i wrote the below query to search for Exchange Diagnostics service which only seems to be part of Exchange 2013 this can be changed to search for any Exchange services.
select SMS_R_SYSTEM.ResourceID,SMS_R_SYSTEM.ResourceType,SMS_R_SYSTEM.Name,SMS_R_SYSTEM.SMSUniqueIdentifier,SMS_R_SYSTEM.ResourceDomainORWorkgroup,SMS_R_SYSTEM.Client from SMS_R_System inner join SMS_G_System_SERVICE on SMS_G_System_SERVICE.ResourceID = SMS_R_System.ResourceId where SMS_G_System_SERVICE.DisplayName = "Microsoft Exchange Diagnostics"