C#.Net Windows 应用程序 - 在 My NT 中获取记录的用户名
我需要获取登录局域网中特定机器的用户名。建议我通过在 C#.net windows 应用程序中传递计算机名称来获取用户名的最佳方法。还要考虑许可。
谢谢
I need to get the username who logged in particular machine in my LAN. Suggest me a best method to get the user name by passing machine name in C#.net windows application. Also consider the permission.
Thanks
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
然后,您可以使用该“strUserName”变量执行任何您想要执行的操作。请注意,如果存在的话,它还包含域名。
You can then do whatever you want to do with that "strUserName" variable. Please note it also contains the Domain Name if one is present.
大家好,我得到了我的问题的解决方案。我使用 WMI 来获取用户名。
谢谢
Hi All I got the solution for my question. I used WMI to get the userName.
Thanks
据我了解,您希望远程确定登录到多台 PC 的用户的用户名,并将结果显示在 Windows 窗体应用程序中。
Windows 没有内置机制来枚举此信息。
无论您最终选择使用哪种机制,您可能需要在被扫描的 PC 上具有管理员权限的用户帐户下运行扫描应用程序。
您可以选择模拟 SysInternals 命令 PsLoggedOn 的行为,该命令检查远程计算机上的 HKEY_USERS 项。要查明谁连接到 PC(即访问共享),请使用 NetSessionEnum API。
有关 PsLoggedOn 的更多信息,请访问:链接文本
As I understand it, you want to remotely determine the username of people logged on to many PCs and present the results in a Windows Forms application.
Windows does not have a built-in mechanism to enumerate this information.
Whichever mechanism you ultimately choose to use, you will probably need to run the scanning application under a user account which has admin rights on the PC being scanned.
You might choose to emulate the behaviour of the SysInternals command PsLoggedOn which examines the HKEY_USERS key on the remote computer. To find out who is connected to a PC (i.e. accessing shares), use the NetSessionEnum API.
More information about PsLoggedOn can be found here: link text