Win32_NetworkLoginProfile - WMI sample in JScript

The foundations for Manageability in Windows 7/2008/Vista/XP/2000 and Millennium Edition/'98 are Windows Management Instrumentation (WMI; formerly WBEM) and WMI extensions for Windows Driver Model (WDM).

ActiveXperts Network Monitor provides the ability to build monitor check routines based on WMI. ActiveXperts has collected more than a hundred WMI samples. You can use these samples as a base for new check routines you can write yourself.

On this site, you can find many WMI samples.


Win32_NetworkLoginProfile

Description

The Win32_NetworkLoginProfile WMI class represents the network login information of a specific user on a Windows system. This includes, but is not limited to password status, access privileges, disk quotas, and login directory paths.

Example(s)

var wbemFlagReturnImmediately = 0x10;
var wbemFlagForwardOnly = 0x20;

var arrComputers = new Array("DELL17");
for (i = 0; i < arrComputers.length; i++) {
   WScript.Echo();
   WScript.Echo("==========================================");
   WScript.Echo("Computer: " + arrComputers[i]);
   WScript.Echo("==========================================");

   var objWMIService = GetObject("winmgmts:\\\\" + arrComputers[i] + "\\root\\CIMV2");
   var colItems = objWMIService.ExecQuery("SELECT * FROM Win32_NetworkLoginProfile", "WQL",
                                          wbemFlagReturnImmediately | wbemFlagForwardOnly);

   var enumItems = new Enumerator(colItems);
   for (; !enumItems.atEnd(); enumItems.moveNext()) {
      var objItem = enumItems.item();

      WScript.Echo("AccountExpires: " + WMIDateStringToDate(objItem.AccountExpires));
      WScript.Echo("AuthorizationFlags: " + objItem.AuthorizationFlags);
      WScript.Echo("BadPasswordCount: " + objItem.BadPasswordCount);
      WScript.Echo("Caption: " + objItem.Caption);
      WScript.Echo("CodePage: " + objItem.CodePage);
      WScript.Echo("Comment: " + objItem.Comment);
      WScript.Echo("CountryCode: " + objItem.CountryCode);
      WScript.Echo("Description: " + objItem.Description);
      WScript.Echo("Flags: " + objItem.Flags);
      WScript.Echo("FullName: " + objItem.FullName);
      WScript.Echo("HomeDirectory: " + objItem.HomeDirectory);
      WScript.Echo("HomeDirectoryDrive: " + objItem.HomeDirectoryDrive);
      WScript.Echo("LastLogoff: " + WMIDateStringToDate(objItem.LastLogoff));
      WScript.Echo("LastLogon: " + WMIDateStringToDate(objItem.LastLogon));
      WScript.Echo("LogonHours: " + objItem.LogonHours);
      WScript.Echo("LogonServer: " + objItem.LogonServer);
      WScript.Echo("MaximumStorage: " + objItem.MaximumStorage);
      WScript.Echo("Name: " + objItem.Name);
      WScript.Echo("NumberOfLogons: " + objItem.NumberOfLogons);
      WScript.Echo("Parameters: " + objItem.Parameters);
      WScript.Echo("PasswordAge: " + WMIDateStringToDate(objItem.PasswordAge));
      WScript.Echo("PasswordExpires: " + WMIDateStringToDate(objItem.PasswordExpires));
      WScript.Echo("PrimaryGroupId: " + objItem.PrimaryGroupId);
      WScript.Echo("Privileges: " + objItem.Privileges);
      WScript.Echo("Profile: " + objItem.Profile);
      WScript.Echo("ScriptPath: " + objItem.ScriptPath);
      WScript.Echo("SettingID: " + objItem.SettingID);
      WScript.Echo("UnitsPerWeek: " + objItem.UnitsPerWeek);
      WScript.Echo("UserComment: " + objItem.UserComment);
      WScript.Echo("UserId: " + objItem.UserId);
      WScript.Echo("UserType: " + objItem.UserType);
      WScript.Echo("Workstations: " + objItem.Workstations);
   }
}

function WMIDateStringToDate(dtmDate)
{
   if (dtmDate == null)
   {
      return "null date";
   }
   var strDateTime;
   if (dtmDate.substr(4, 1) == 0)
   {
      strDateTime = dtmDate.substr(5, 1) + "/";
   }
   else
   {
      strDateTime = dtmDate.substr(4, 2) + "/";
   }
   if (dtmDate.substr(6, 1) == 0)
   {
      strDateTime = strDateTime + dtmDate.substr(7, 1) + "/";
   }
   else
   {
      strDateTime = strDateTime + dtmDate.substr(6, 2) + "/";
   }
   strDateTime = strDateTime + dtmDate.substr(0, 4) + " " +
   dtmDate.substr(8, 2) + ":" +
   dtmDate.substr(10, 2) + ":" +
   dtmDate.substr(12, 2);
   return(strDateTime);
}