I answer a lot of questions in the newsgroups, forums and mailing list about web reports and try to steer people in the right direction.

  • Don’t use tables, use the views.
  • Follow the KISS principal
  • Less is more, particularly with drill throughs.

Like a lot of SMS administrators, I have hundreds of reports that I use to know the health or asset information of my SMS environment. One of the key elements in any of any report is User Name & PC name. PC Name is good, but what is ES-01, ES-02 or ENHANSOF-08E7EC?

In the following example, if I need to track down ES-02, who was the last person to logon to ES-02? Is it “Administrator” or was it “Gartek\Ellen”?



The answer is simple, it is “Gartek\Ellen”!
(For those who don’t know Ellen is my wife! What I don’t know is why she is logging on to my servers!)

Some of you are asking yourselves: how does he know that? v_GS_COMPUTER_SYSTEM.UserName0 is updated every time the hardware inventory is run whereas v_R_System.User_Name0 is updated during the last Network Discovery (PC) or Heartbeat Discovery.

Since most organizations (if not all) have their hardware inventory set to less that their Network Discovery or Heartbeat Discovery this will provide more accurate data.

Here is how to prove it to yourself. Using this query below find a workstation or server that you have physical access to, in my example I will use “Gartek-sms” logon using a different user id. Kick off the hardware inventory on that workstation.

 v_R_System v_R_System
 v_R_System.ResourceID = v_GS_COMPUTER_SYSTEM.ResourceID

A short time later you will notice that v_GS_COMPUTER_SYSTEM.UserName0 has been updated but v_R_System.User_Name0 has not.