Showing results for 
Search instead for 
Did you mean: 
Create Post

How to generate report for collecting Microsoft IIS details?

Hello All,

I am trying to generate the report for seeing the on how many servers Microsoft IIS is installed/Active/Disabled.

I tried to create the report using SWQL query, Dynamic Query Builder and Static selection as well but the output is not correct.

Can any one of you help me out with this.

the SWQL query i'm using is

SELECT n.Caption, n.DetailsUrl, n.Status, n.ChildStatus, t.Name, t.State, t.LastRunResult, ToLocal(t.LastRunTime) AS LastRunTime, ToLocal(t.DateOfCreation) AS DateOfCreation, t.Author

FROM Orion.APM.Wstm.Task t

INNER JOIN Orion.Nodes n ON t.NodeID = n.NodeID



Purushottam Rathi

Tags (1)
6 Replies
Level 9

If you haven't done so, The best route in my eyes would be to run an Application Discovery. The Discovery would be fairly quick and it will at least give you an idea of which servers have IIS.

I'm not sure why you would want to know the endpoints that have IIS and not want to monitor them actively.

Maybe I am missing something.

I'm lacking access to a SAM environment at the moment, but I believe you are not using the correct entity in your query.

Orion.APM.Wstm.Task refers back to the Scheduled Tasks, you may want to query the Orion.APM.IIS.Application entity

Bear in mind the above will only report against the *monitored* IIS instances in your environment, you may have more IIS roles installed across your Servers/infrastructure but not being monitored in Orion.

Have a look at the schema in github: SolarWinds Information Service v3.0 Schema Documentation Index  and SolarWinds Information Service v3.0 Schema Documentation

In order to do a full sweep of your Windows environment to see where IIS is installed, you could use something like this:

$servers = get-content c:\listofservers.txt
($server in $servers){

     $vm = "localhost";
= Get-WmiObject Win32_Service -ComputerName $vm -Filter "name='IISADMIN'"

     if ((Get-WindowsFeature Web-Server).InstallState -eq "Installed") {
Write-Host "IIS is installed on $vm"
     else {
Write-Host "IIS is not installed on $vm"


I'm sure someone else could make it better, but you get the idea

since i am logging through the console the listofservers.txt file should be present on our local machine or it should be present in the server?

The way the script is written, the file should reside on the C:\ drive of the machine you are launching the script from

Ok i will try again