none
WMI 查询问题 Win32_ServerSession,Win32_ServerConnection,Win32_NetworkLoginProfile RRS feed

  • 问题

  • C#做类似任务管理器的东东, 在获取用户列表这块出现问题。

    貌似用 Win32_ServerSession,Win32_ServerConnection,Win32_NetworkLoginProfile这三个类可以解决

    但用Win32_NetworkLoginProfile远达不到要求,PowerShell获取数据如下:

    Caption      : Administrator
    Privileges   : 2
    Profile      :
    UserId       : 500
    UserType     : Normal Account
    Workstations :

    用Win32_ServerSession,Win32_ServerConnection在PowerShell下获取不到任何数据

    操作系统:win7 ,server 2003

    有知道的帮忙解决一下

    2011年9月23日 6:05

答案

  • 我这有一个用Win32_UserAccount 获取用户名的例子,借你参考:

     

    private void GetCurrentFullName()
        {
          string DomainName = System.Environment.UserDomainName;
          MessageBox.Show(DomainName);
          string AccountName = System.Environment.UserName.ToLower();
          MessageBox.Show(AccountName);
          SelectQuery query = new SelectQuery("select FullName from Win32_UserAccount where domain='" + DomainName + "' and name='" + AccountName + "'");
          ManagementObjectSearcher searcher = new ManagementObjectSearcher(query);
          foreach (ManagementBaseObject disk in searcher.Get())
          {
            MessageBox.Show(disk["FullName"].ToString());
          }
    
        }
    
    

    另外在C#中你是怎么是使用Win32_ServerSessionWin32_ServerConnectionWin32_NetworkLoginProfile的? 可否贴点代码上来?


    Best Regards,
    Rocky Yue[MSFT]
    MSDN Community Support | Feedback to us
    Get or Request Code Sample from Microsoft
    Please remember to mark the replies as answers if they help and unmark them if they provide no help.

    2011年9月26日 5:44
    版主
  • 从名字上看,Win32_ServerSession / ServerConnection 是工作在 Windows Server 上的,Client 上的估计无效。您可以在一台 Server 上试试看。
    Mark Zhou
    2011年9月26日 10:14

全部回复

  • 我这有一个用Win32_UserAccount 获取用户名的例子,借你参考:

     

    private void GetCurrentFullName()
        {
          string DomainName = System.Environment.UserDomainName;
          MessageBox.Show(DomainName);
          string AccountName = System.Environment.UserName.ToLower();
          MessageBox.Show(AccountName);
          SelectQuery query = new SelectQuery("select FullName from Win32_UserAccount where domain='" + DomainName + "' and name='" + AccountName + "'");
          ManagementObjectSearcher searcher = new ManagementObjectSearcher(query);
          foreach (ManagementBaseObject disk in searcher.Get())
          {
            MessageBox.Show(disk["FullName"].ToString());
          }
    
        }
    
    

    另外在C#中你是怎么是使用Win32_ServerSessionWin32_ServerConnectionWin32_NetworkLoginProfile的? 可否贴点代码上来?


    Best Regards,
    Rocky Yue[MSFT]
    MSDN Community Support | Feedback to us
    Get or Request Code Sample from Microsoft
    Please remember to mark the replies as answers if they help and unmark them if they provide no help.

    2011年9月26日 5:44
    版主
  • 从名字上看,Win32_ServerSession / ServerConnection 是工作在 Windows Server 上的,Client 上的估计无效。您可以在一台 Server 上试试看。
    Mark Zhou
    2011年9月26日 10:14