When creating a smart label for machines, there is no option to select services as a criteria.  There have been posts that have done similar things based on custom inventory fields, but there is a way to generate a smart label based on whether a service is running.  This is of course only as good as the last inventory reported, but still very useful.

1.  Create a new smart label with any criteria.  We will replace the SQL query for the label.  Here we will look for MS Exchange Services.

K7Tpiy.png

2. Next we need to Identify the service you want to check for.  Is this case we will use the Display Name of the service, but we could use the process name as well with a slightly different query.  Go to the device -> services and find  your service.  

qWKxcL.png

3. Next, edit your SQL statement for the smart label you created in step 1.

bAwhe4.png


4. Paste in the following SQL statement. (use your service Display Name in place of red text below).

SELECT MACHINE.NAME,
       MACHINE.IP,
       NTSERVICE.ID,
       NTSERVICE.STATUS,
       NTSERVICE.DISPLAY_NAME,
       MACHINE.MAC,
       MACHINE.SYSTEM_DESCRIPTION
  FROM (ORG1.MACHINE_NTSERVICE_JT MACHINE_NTSERVICE_JT
        INNER JOIN ORG1.NTSERVICE NTSERVICE
           ON (MACHINE_NTSERVICE_JT.NTSERVICE_ID = NTSERVICE.ID))
       INNER JOIN ORG1.MACHINE MACHINE
          ON (MACHINE_NTSERVICE_JT.MACHINE_ID = MACHINE.ID)
 WHERE (    NTSERVICE.STATUS = 'SERVICE_RUNNING'
        AND NTSERVICE.DISPLAY_NAME = 'Microsoft Exchange Information Store')

5.  Save your Smart Label and have your machines check in to get the label applied.

Enjoy!