Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • World
  • Users
  • Groups
Skins
  • Light
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
Code Project
  1. Home
  2. General Programming
  3. C / C++ / MFC
  4. Getting NULL value from 'Win32_LogonSession' through WMI [modified]

Getting NULL value from 'Win32_LogonSession' through WMI [modified]

Scheduled Pinned Locked Moved C / C++ / MFC
databasehelpannouncement
32 Posts 4 Posters 0 Views 1 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • S Supriya Tonape

    Thanks but my requirement is that I have to get these names through WMI only. In fact after you told I tried API NetWkstaUserEnuma() and got Usernames too! but I donno whats gng wrong to not give me results...

    S Offline
    S Offline
    Supriya Tonape
    wrote on last edited by
    #6

    any idea how can I get the username from {Win32_LogonSession.LogonId="50493851"} ? I am getting this though! I guess there shud be some way by using this ID I can get the required name. any suggestion ?

    M 1 Reply Last reply
    0
    • S Supriya Tonape

      any idea how can I get the username from {Win32_LogonSession.LogonId="50493851"} ? I am getting this though! I guess there shud be some way by using this ID I can get the required name. any suggestion ?

      M Offline
      M Offline
      Mark Salsbery
      wrote on last edited by
      #7

      Supriya Tonape wrote:

      any idea how can I get the username from {Win32_LogonSession.LogonId="50493851"} ?

      Try:

      #include <ntsecapi.h>
      #pragma comment(lib, "Secur32.lib")
      ...

      LUID luid;
      luid.HighPart = 0;
      luid.LowPart = 50493851;
      PSECURITY\_LOGON\_SESSION\_DATA pLogonSessionData;
      if (0 == ::LsaGetLogonSessionData(&luid, &pLogonSessionData))
      {
          // user name is pLogonSessionData->UserName
      
          ::LsaFreeReturnBuffer(pLogonSessionData);
      }
      

      Mark Salsbery Microsoft MVP - Visual C++ :java:

      S 1 Reply Last reply
      0
      • M Mark Salsbery

        Supriya Tonape wrote:

        any idea how can I get the username from {Win32_LogonSession.LogonId="50493851"} ?

        Try:

        #include <ntsecapi.h>
        #pragma comment(lib, "Secur32.lib")
        ...

        LUID luid;
        luid.HighPart = 0;
        luid.LowPart = 50493851;
        PSECURITY\_LOGON\_SESSION\_DATA pLogonSessionData;
        if (0 == ::LsaGetLogonSessionData(&luid, &pLogonSessionData))
        {
            // user name is pLogonSessionData->UserName
        
            ::LsaFreeReturnBuffer(pLogonSessionData);
        }
        

        Mark Salsbery Microsoft MVP - Visual C++ :java:

        S Offline
        S Offline
        Supriya Tonape
        wrote on last edited by
        #8

        Thx Mark but I wanna use these APIs(Win32_LogonSession,Win32_LoggedOnUser etc) only so it will be gr8 help if you can tell me how to get my required info thru them... Any idea how to use "Win32_LoggedOnUser.Antecedent" when I have 'LoginID' of user ? Regards, Supriya Tonape

        M 1 Reply Last reply
        0
        • S Supriya Tonape

          Thx Mark but I wanna use these APIs(Win32_LogonSession,Win32_LoggedOnUser etc) only so it will be gr8 help if you can tell me how to get my required info thru them... Any idea how to use "Win32_LoggedOnUser.Antecedent" when I have 'LoginID' of user ? Regards, Supriya Tonape

          M Offline
          M Offline
          Mark Salsbery
          wrote on last edited by
          #9

          Here's some C# that lists the interactive sessions - you should be able to extract the right queries from this...

          ManagementObjectSearcher logonsessionsearcher = new ManagementObjectSearcher("SELECT * FROM Win32_LogonSession Where LogonType = 2 OR LogonType = 10");
          foreach (ManagementObject logonsession in logonsessionsearcher.Get())
          {
          Console.WriteLine("LogonId: {0}", logonsession["LogonId"].ToString());
          Console.WriteLine("LogonType: {0}", logonsession["LogonType"].ToString());

          ManagementObjectSearcher associationsearcher = new ManagementObjectSearcher("Associators of {Win32\_LogonSession.LogonId=" + logonsession\["LogonId"\].ToString() + "} Where AssocClass=Win32\_LoggedOnUser Role=Dependent");
          foreach (ManagementObject association in associationsearcher.Get())
          {
              Console.WriteLine("   Name: {0}", association\["Name"\].ToString());
              Console.WriteLine("   Domain: {0}", association\["Domain"\].ToString());
          }
          Console.WriteLine("");
          

          }

          Mark Salsbery Microsoft MVP - Visual C++ :java:

          S 1 Reply Last reply
          0
          • M Mark Salsbery

            Here's some C# that lists the interactive sessions - you should be able to extract the right queries from this...

            ManagementObjectSearcher logonsessionsearcher = new ManagementObjectSearcher("SELECT * FROM Win32_LogonSession Where LogonType = 2 OR LogonType = 10");
            foreach (ManagementObject logonsession in logonsessionsearcher.Get())
            {
            Console.WriteLine("LogonId: {0}", logonsession["LogonId"].ToString());
            Console.WriteLine("LogonType: {0}", logonsession["LogonType"].ToString());

            ManagementObjectSearcher associationsearcher = new ManagementObjectSearcher("Associators of {Win32\_LogonSession.LogonId=" + logonsession\["LogonId"\].ToString() + "} Where AssocClass=Win32\_LoggedOnUser Role=Dependent");
            foreach (ManagementObject association in associationsearcher.Get())
            {
                Console.WriteLine("   Name: {0}", association\["Name"\].ToString());
                Console.WriteLine("   Domain: {0}", association\["Domain"\].ToString());
            }
            Console.WriteLine("");
            

            }

            Mark Salsbery Microsoft MVP - Visual C++ :java:

            S Offline
            S Offline
            Supriya Tonape
            wrote on last edited by
            #10

            Thx Mark I will see how I can do this in C++. I guess we cant use this "Associators of {Win32_LogonSession.LogonId=" etc. in C++ so I need to check out the way how i can accomplish it in C++... I am not getting that though and tried multiple queries/combinations in C++ already... will check.. :( :confused: I am :~ though. Regards, Supriya Tonape.

            M 2 Replies Last reply
            0
            • S Supriya Tonape

              Thx Mark I will see how I can do this in C++. I guess we cant use this "Associators of {Win32_LogonSession.LogonId=" etc. in C++ so I need to check out the way how i can accomplish it in C++... I am not getting that though and tried multiple queries/combinations in C++ already... will check.. :( :confused: I am :~ though. Regards, Supriya Tonape.

              M Offline
              M Offline
              Mark Salsbery
              wrote on last edited by
              #11

              How do you do WMI queries in C++? I've always used .NET like shown which is the same in C++ or C#. The query should be the same in native C++ I would think...

              Associators of {Win32_LogonSession.LogonId=50493851} Where AssocClass=Win32_LoggedOnUser Role=Dependent

              where 50493851 is the logon session ID (insert an actual ID) Mark

              Mark Salsbery Microsoft MVP - Visual C++ :java:

              1 Reply Last reply
              0
              • S Supriya Tonape

                Thx Mark I will see how I can do this in C++. I guess we cant use this "Associators of {Win32_LogonSession.LogonId=" etc. in C++ so I need to check out the way how i can accomplish it in C++... I am not getting that though and tried multiple queries/combinations in C++ already... will check.. :( :confused: I am :~ though. Regards, Supriya Tonape.

                M Offline
                M Offline
                Mark Salsbery
                wrote on last edited by
                #12

                I just looked at this link Example: Getting WMI Data from the Local Computer[^] and it looks like query text just like I used. The "while (pEnumerator)" loop is the same as my foreach loop. Where's the problem? Mark

                Mark Salsbery Microsoft MVP - Visual C++ :java:

                S 1 Reply Last reply
                0
                • M Mark Salsbery

                  I just looked at this link Example: Getting WMI Data from the Local Computer[^] and it looks like query text just like I used. The "while (pEnumerator)" loop is the same as my foreach loop. Where's the problem? Mark

                  Mark Salsbery Microsoft MVP - Visual C++ :java:

                  S Offline
                  S Offline
                  Supriya Tonape
                  wrote on last edited by
                  #13

                  Yes I am using the same for looping. But I am not getting 'Name'field when I query diretly to 'Win32_LogonSession'class. There is some other way for it.. I am new to WMI stuff.. thru Win32_LoggedOnUser i shud get it but I am exploring it...I will try the query you had given me above.. Regards, Supriya Tonape

                  S 1 Reply Last reply
                  0
                  • S Supriya Tonape

                    Yes I am using the same for looping. But I am not getting 'Name'field when I query diretly to 'Win32_LogonSession'class. There is some other way for it.. I am new to WMI stuff.. thru Win32_LoggedOnUser i shud get it but I am exploring it...I will try the query you had given me above.. Regards, Supriya Tonape

                    S Offline
                    S Offline
                    Supriya Tonape
                    wrote on last edited by
                    #14

                    Nope that query is not working. I am getting 'Win32_LogonSession.LogonId' after executing query : "SELECT * FROM Win32_LogonSession WHERE LogonType = 2 OR LogonType = 10" what are next steps ? (in C++) Regards, Supriya Tonape

                    M 1 Reply Last reply
                    0
                    • S Supriya Tonape

                      Nope that query is not working. I am getting 'Win32_LogonSession.LogonId' after executing query : "SELECT * FROM Win32_LogonSession WHERE LogonType = 2 OR LogonType = 10" what are next steps ? (in C++) Regards, Supriya Tonape

                      M Offline
                      M Offline
                      Mark Salsbery
                      wrote on last edited by
                      #15

                      Supriya Tonape wrote:

                      I am getting 'Win32_LogonSession.LogonId'

                      I thought you were already able to get the LogonId and you needed to get the name? To get the user name from the Win32_LoggedOnUser class, you need to do the second query I showed you using the LogonId from the query you've already done.

                      Mark Salsbery Microsoft MVP - Visual C++ :java:

                      S 1 Reply Last reply
                      0
                      • M Mark Salsbery

                        Supriya Tonape wrote:

                        I am getting 'Win32_LogonSession.LogonId'

                        I thought you were already able to get the LogonId and you needed to get the name? To get the user name from the Win32_LoggedOnUser class, you need to do the second query I showed you using the LogonId from the query you've already done.

                        Mark Salsbery Microsoft MVP - Visual C++ :java:

                        S Offline
                        S Offline
                        Supriya Tonape
                        wrote on last edited by
                        #16

                        Yes I am getting LogonId ! Second query is not working for me... Regards, Supriya Tonape

                        M 1 Reply Last reply
                        0
                        • S Supriya Tonape

                          Yes I am getting LogonId ! Second query is not working for me... Regards, Supriya Tonape

                          M Offline
                          M Offline
                          Mark Salsbery
                          wrote on last edited by
                          #17

                          What does the code look like? Mark

                          Mark Salsbery Microsoft MVP - Visual C++ :java:

                          S 1 Reply Last reply
                          0
                          • M Mark Salsbery

                            What does the code look like? Mark

                            Mark Salsbery Microsoft MVP - Visual C++ :java:

                            S Offline
                            S Offline
                            Supriya Tonape
                            wrote on last edited by
                            #18

                            It returns S_FALSE at line "HRESULT hr1 = pEnumerator1->Next(WBEM_INFINITE, 1, &pclsObj1, &uReturn1);" which is in last. I really donno if I doing right things... plz have a look,, int WMIScannerModule::GetRemoteLoggedOnUsers(IWbemServices *pSvc,pWMIScanParams pScanParams) { HRESULT hres = WBEM_S_NO_ERROR; IEnumWbemClassObject* pEnumerator = NULL; hres = pSvc->ExecQuery( bstr_t("WQL"), bstr_t("SELECT * FROM Win32_LogonSession WHERE LogonType = 2 OR LogonType = 10"), WBEM_FLAG_FORWARD_ONLY | WBEM_FLAG_RETURN_IMMEDIATELY, NULL, &pEnumerator); if (FAILED(hres)) { pSvc->Release(); return WBEM_S_FALSE; // Program has failed. } IWbemClassObject *pclsObj; ULONG uReturn = 0; while (pEnumerator) { HRESULT hr = pEnumerator->Next(WBEM_INFINITE, 1, &pclsObj, &uReturn); if(0 == uReturn) { ErrorInfo(hres,11); break; } VARIANT vtProp; VariantClear(&vtProp); // Get the value of the Name property hr = pclsObj->Get(_bstr_t(L"LogonId"), 0, &vtProp, 0, 0); printf("Logon ID : %s",vtProp.bstrVal); wstring wstrQuery = L"Associators of {Win32_LogonSession.LogonId="; wstrQuery += vtProp.bstrVal; wstrQuery += L"} Where AssocClass=Win32_LoggedOnUser Role=Dependent"; IEnumWbemClassObject* pEnumerator1 = NULL; hres = pSvc->ExecQuery( bstr_t("WQL"), bstr_t(wstrQuery.c_str()), WBEM_FLAG_FORWARD_ONLY | WBEM_FLAG_RETURN_IMMEDIATELY, NULL, &pEnumerator1); IWbemClassObject *pclsObj1; ULONG uReturn1 = 0; HRESULT hr1 = pEnumerator1->Next(WBEM_INFINITE, 1, &pclsObj1, &uReturn1); if(0 == uReturn1) { ErrorInfo(hres,11); break; } VARIANT vtProp1; hr1 = pclsObj->Get(_bstr_t(L"Win32_LogonSession.Name"), 0, &vtProp1, 0, 0); printf("User Name : %s",vtProp1.bstrVal); } return 0; }

                            M 1 Reply Last reply
                            0
                            • S Supriya Tonape

                              It returns S_FALSE at line "HRESULT hr1 = pEnumerator1->Next(WBEM_INFINITE, 1, &pclsObj1, &uReturn1);" which is in last. I really donno if I doing right things... plz have a look,, int WMIScannerModule::GetRemoteLoggedOnUsers(IWbemServices *pSvc,pWMIScanParams pScanParams) { HRESULT hres = WBEM_S_NO_ERROR; IEnumWbemClassObject* pEnumerator = NULL; hres = pSvc->ExecQuery( bstr_t("WQL"), bstr_t("SELECT * FROM Win32_LogonSession WHERE LogonType = 2 OR LogonType = 10"), WBEM_FLAG_FORWARD_ONLY | WBEM_FLAG_RETURN_IMMEDIATELY, NULL, &pEnumerator); if (FAILED(hres)) { pSvc->Release(); return WBEM_S_FALSE; // Program has failed. } IWbemClassObject *pclsObj; ULONG uReturn = 0; while (pEnumerator) { HRESULT hr = pEnumerator->Next(WBEM_INFINITE, 1, &pclsObj, &uReturn); if(0 == uReturn) { ErrorInfo(hres,11); break; } VARIANT vtProp; VariantClear(&vtProp); // Get the value of the Name property hr = pclsObj->Get(_bstr_t(L"LogonId"), 0, &vtProp, 0, 0); printf("Logon ID : %s",vtProp.bstrVal); wstring wstrQuery = L"Associators of {Win32_LogonSession.LogonId="; wstrQuery += vtProp.bstrVal; wstrQuery += L"} Where AssocClass=Win32_LoggedOnUser Role=Dependent"; IEnumWbemClassObject* pEnumerator1 = NULL; hres = pSvc->ExecQuery( bstr_t("WQL"), bstr_t(wstrQuery.c_str()), WBEM_FLAG_FORWARD_ONLY | WBEM_FLAG_RETURN_IMMEDIATELY, NULL, &pEnumerator1); IWbemClassObject *pclsObj1; ULONG uReturn1 = 0; HRESULT hr1 = pEnumerator1->Next(WBEM_INFINITE, 1, &pclsObj1, &uReturn1); if(0 == uReturn1) { ErrorInfo(hres,11); break; } VARIANT vtProp1; hr1 = pclsObj->Get(_bstr_t(L"Win32_LogonSession.Name"), 0, &vtProp1, 0, 0); printf("User Name : %s",vtProp1.bstrVal); } return 0; }

                              M Offline
                              M Offline
                              Mark Salsbery
                              wrote on last edited by
                              #19

                              Excellent thank you :) Change

                              hr1 = pclsObj->>Get(_bstr_t(L"Win32_LogonSession.Name"), 0, &vtProp1, 0, 0);

                              to this (changes marked in red)

                              hr1 = pclsObj1->Get(_bstr_t(L"Name"), 0, &vtProp1, 0, 0);

                              Mark

                              Mark Salsbery Microsoft MVP - Visual C++ :java:

                              S 1 Reply Last reply
                              0
                              • M Mark Salsbery

                                Excellent thank you :) Change

                                hr1 = pclsObj->>Get(_bstr_t(L"Win32_LogonSession.Name"), 0, &vtProp1, 0, 0);

                                to this (changes marked in red)

                                hr1 = pclsObj1->Get(_bstr_t(L"Name"), 0, &vtProp1, 0, 0);

                                Mark

                                Mark Salsbery Microsoft MVP - Visual C++ :java:

                                S Offline
                                S Offline
                                Supriya Tonape
                                wrote on last edited by
                                #20

                                I had already tried that! It's not working as 'hr1' is getting as S_FALSE error and so 'vtProp1' is NULL for the time being... HRESULT hr1 = pEnumerator1->Next(WBEM_INFINITE, 1, &pclsObj1, &uReturn1); VARIANT vtProp1; hr1 = pclsObj1->Get(_bstr_t(L"Name"), 0, &vtProp1, 0, 0); :confused: Regards, Supriya Tonape

                                M 1 Reply Last reply
                                0
                                • S Supriya Tonape

                                  I had already tried that! It's not working as 'hr1' is getting as S_FALSE error and so 'vtProp1' is NULL for the time being... HRESULT hr1 = pEnumerator1->Next(WBEM_INFINITE, 1, &pclsObj1, &uReturn1); VARIANT vtProp1; hr1 = pclsObj1->Get(_bstr_t(L"Name"), 0, &vtProp1, 0, 0); :confused: Regards, Supriya Tonape

                                  M Offline
                                  M Offline
                                  Mark Salsbery
                                  wrote on last edited by
                                  #21

                                  hmm I tested it and it worked for me... Here's my test code - I took your code and added stuff to the top (copied right from that MSDN sample code) for me to build it...

                                  int GetRemoteLoggedOnUsers()
                                  {
                                  HRESULT hres = WBEM_S_NO_ERROR;

                                  //hres =  CoInitializeSecurity(
                                  //    NULL, 
                                  //    -1,                          // COM authentication
                                  //    NULL,                        // Authentication services
                                  //    NULL,                        // Reserved
                                  //    RPC\_C\_AUTHN\_LEVEL\_DEFAULT,   // Default authentication 
                                  //    RPC\_C\_IMP\_LEVEL\_IMPERSONATE, // Default Impersonation  
                                  //    NULL,                        // Authentication info
                                  //    EOAC\_NONE,                   // Additional capabilities 
                                  //    NULL                         // Reserved
                                  //    );
                                  
                                  //                  
                                  //if (FAILED(hres))
                                  //{
                                  //    cout << "Failed to initialize security. Error code = 0x" 
                                  //        << hex << hres << endl;
                                  //    CoUninitialize();
                                  //    return 1;                    // Program has failed.
                                  //}
                                  
                                  // Step 3: ---------------------------------------------------
                                  // Obtain the initial locator to WMI -------------------------
                                  
                                  IWbemLocator \*pLoc = NULL;
                                  
                                  hres = CoCreateInstance(
                                      CLSID\_WbemLocator,             
                                      0, 
                                      CLSCTX\_INPROC\_SERVER, 
                                      IID\_IWbemLocator, (LPVOID \*) &pLoc);
                                  
                                  if (FAILED(hres))
                                  {
                                      cout << "Failed to create IWbemLocator object."
                                          << " Err code = 0x"
                                          << hex << hres << endl;
                                      CoUninitialize();
                                      return 1;                 // Program has failed.
                                  }
                                  
                                  // Step 4: -----------------------------------------------------
                                  // Connect to WMI through the IWbemLocator::ConnectServer method
                                  
                                  IWbemServices \*pSvc = NULL;
                                  
                                  // Connect to the root\\cimv2 namespace with
                                  // the current user and obtain pointer pSvc
                                  // to make IWbemServices calls.
                                  hres = pLoc->ConnectServer(
                                       \_bstr\_t(L"ROOT\\\\CIMV2"), // Object path of WMI namespace
                                       NULL,                    // User name. NULL = current user
                                       NULL,                    // User password. NULL = current
                                       0,                       // Locale. NULL indicates current
                                       NULL,                    // Security flags.
                                       0,                       // Authority (e.g. Kerberos)
                                       0,                       // Context object 
                                       &pSvc
                                  
                                  S 1 Reply Last reply
                                  0
                                  • M Mark Salsbery

                                    hmm I tested it and it worked for me... Here's my test code - I took your code and added stuff to the top (copied right from that MSDN sample code) for me to build it...

                                    int GetRemoteLoggedOnUsers()
                                    {
                                    HRESULT hres = WBEM_S_NO_ERROR;

                                    //hres =  CoInitializeSecurity(
                                    //    NULL, 
                                    //    -1,                          // COM authentication
                                    //    NULL,                        // Authentication services
                                    //    NULL,                        // Reserved
                                    //    RPC\_C\_AUTHN\_LEVEL\_DEFAULT,   // Default authentication 
                                    //    RPC\_C\_IMP\_LEVEL\_IMPERSONATE, // Default Impersonation  
                                    //    NULL,                        // Authentication info
                                    //    EOAC\_NONE,                   // Additional capabilities 
                                    //    NULL                         // Reserved
                                    //    );
                                    
                                    //                  
                                    //if (FAILED(hres))
                                    //{
                                    //    cout << "Failed to initialize security. Error code = 0x" 
                                    //        << hex << hres << endl;
                                    //    CoUninitialize();
                                    //    return 1;                    // Program has failed.
                                    //}
                                    
                                    // Step 3: ---------------------------------------------------
                                    // Obtain the initial locator to WMI -------------------------
                                    
                                    IWbemLocator \*pLoc = NULL;
                                    
                                    hres = CoCreateInstance(
                                        CLSID\_WbemLocator,             
                                        0, 
                                        CLSCTX\_INPROC\_SERVER, 
                                        IID\_IWbemLocator, (LPVOID \*) &pLoc);
                                    
                                    if (FAILED(hres))
                                    {
                                        cout << "Failed to create IWbemLocator object."
                                            << " Err code = 0x"
                                            << hex << hres << endl;
                                        CoUninitialize();
                                        return 1;                 // Program has failed.
                                    }
                                    
                                    // Step 4: -----------------------------------------------------
                                    // Connect to WMI through the IWbemLocator::ConnectServer method
                                    
                                    IWbemServices \*pSvc = NULL;
                                    
                                    // Connect to the root\\cimv2 namespace with
                                    // the current user and obtain pointer pSvc
                                    // to make IWbemServices calls.
                                    hres = pLoc->ConnectServer(
                                         \_bstr\_t(L"ROOT\\\\CIMV2"), // Object path of WMI namespace
                                         NULL,                    // User name. NULL = current user
                                         NULL,                    // User password. NULL = current
                                         0,                       // Locale. NULL indicates current
                                         NULL,                    // Security flags.
                                         0,                       // Authority (e.g. Kerberos)
                                         0,                       // Context object 
                                         &pSvc
                                    
                                    S Offline
                                    S Offline
                                    Supriya Tonape
                                    wrote on last edited by
                                    #22

                                    Mark :))))))))))))))))))))))))))) U are genious ! I am getting the name now :))thank you so much!!!!!!! Have a gr8 day ahead ! Best Regards, Supriya Tonape.

                                    M S 3 Replies Last reply
                                    0
                                    • S Supriya Tonape

                                      Mark :))))))))))))))))))))))))))) U are genious ! I am getting the name now :))thank you so much!!!!!!! Have a gr8 day ahead ! Best Regards, Supriya Tonape.

                                      M Offline
                                      M Offline
                                      Mark Salsbery
                                      wrote on last edited by
                                      #23

                                      You're welcome. You have a great day as well! :) Cheers, Mark

                                      Mark Salsbery Microsoft MVP - Visual C++ :java:

                                      1 Reply Last reply
                                      0
                                      • S Supriya Tonape

                                        Mark :))))))))))))))))))))))))))) U are genious ! I am getting the name now :))thank you so much!!!!!!! Have a gr8 day ahead ! Best Regards, Supriya Tonape.

                                        S Offline
                                        S Offline
                                        Supriya Tonape
                                        wrote on last edited by
                                        #24

                                        I am still wondering what exact mistake i was doing, all flags were set properly.. let me check in detail so I wont make it in future. Thx so much again. ! :) Regards, Supriya Tonape.

                                        1 Reply Last reply
                                        0
                                        • S Supriya Tonape

                                          Mark :))))))))))))))))))))))))))) U are genious ! I am getting the name now :))thank you so much!!!!!!! Have a gr8 day ahead ! Best Regards, Supriya Tonape.

                                          M Offline
                                          M Offline
                                          Mark Salsbery
                                          wrote on last edited by
                                          #25

                                          Also, if you remove the "WHERE LogonType = 2 OR LogonType = 10" from the outer query, you can see all logon sessions, not just the interactive ones. :) Mark

                                          Mark Salsbery Microsoft MVP - Visual C++ :java:

                                          S 1 Reply Last reply
                                          0
                                          Reply
                                          • Reply as topic
                                          Log in to reply
                                          • Oldest to Newest
                                          • Newest to Oldest
                                          • Most Votes


                                          • Login

                                          • Don't have an account? Register

                                          • Login or register to search.
                                          • First post
                                            Last post
                                          0
                                          • Categories
                                          • Recent
                                          • Tags
                                          • Popular
                                          • World
                                          • Users
                                          • Groups