c# - 用户登录到远程机器

标签 c# wmi

有没有一种方法可以使用 WMI 和 C# 来确定所有用户登录远程机器的内容

最佳答案

经过一些研究我终于弄明白了,虽然不确定这是否是最好的方法

public void GetCompDet(string ComputerName)
{
    CurrentSystem = ComputerName;
    ConnectionOptions options = new ConnectionOptions();

    ManagementScope moScope = new ManagementScope(@"\\" + ComputerName + @"\root\cimv2");
    try
    {
        moScope.Connect();
    }
    catch
    {
        return;
    }
    ObjectQuery query = new ObjectQuery("select * from Win32_Process where name='explorer.exe'");
    ManagementObjectSearcher searcher = new ManagementObjectSearcher(moScope, query);
    ManagementObjectCollection queryCollection = searcher.Get();
    foreach (ManagementObject m in queryCollection)
    {
        ManagementOperationObserver mo = new ManagementOperationObserver();
        mo.ObjectReady += new ObjectReadyEventHandler(mo_ObjectReady);
        m.InvokeMethod(mo, "GetOwner", null);
    }
}

void mo_ObjectReady(object sender, ObjectReadyEventArgs e)
{
    ManagementObject m = sender as ManagementObject;
    LoggedinUser.Enqueue(CurrentSystem + " - >" + e.NewObject.Properties["user"].Value.ToString());
    Console.WriteLine(CurrentSystem + " - >" + e.NewObject.Properties["user"].Value.ToString());
}

关于c# - 用户登录到远程机器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5067240/

相关文章:

c# - 从子控件访问父控件元素的最佳方法是什么?

c# - 有没有办法在 C# 中简化这个反射委托(delegate)代码?

vb.net - 查询远程服务器上磁盘空间的最佳方法

c# - C# COM DLL 中的 ManagementObject 泄漏

windows - 获取其中所有硬盘和分区的序号

C# 记录 SMB 文件访问

c# - session 变量 + WebMethod 变量值未更新

c# - 是否有 .NET Framework 方法来解析电子邮件 (MIME)?

c# - 在 MVVM 中,在 View 的代码后面访问 ViewModel 是否可以接受?

c# - 以编程方式管理 IIS