使用 C# 获取 Windows 用户
如何使用 .NET (C#) 获取本地计算机的所有 Windows 用户的列表?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
如何使用 .NET (C#) 获取本地计算机的所有 Windows 用户的列表?
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
接受
或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
发布评论
评论(2)
这是一篇博客文章(带有代码),解释了如何执行此操作:
http://csharptuning.blogspot.com/2007/09/how-to-get-list-of-windows-user-in-c.html
作者列出了以下代码(引自上述网站):
您需要在代码顶部添加
using System.DirectoryServices
。要更改计算机,您可以将Environment.MachineName
更改为您想要访问的任何计算机(只要您有权这样做并且防火墙不阻止您这样做)。我还修改了作者的代码以查看users
组而不是administrators
组。Here is a blog post (with code) that explains how to do it:
http://csharptuning.blogspot.com/2007/09/how-to-get-list-of-windows-user-in-c.html
The author lists the following code (quoted from the above site):
You need to add
using System.DirectoryServices
at the top of your code. To change machines, you would change theEnvironment.MachineName
to be whatever machine you want to access (as long as you have permission to do so and the firewall isn't blocking you from doing so). I also modified the author's code to look at theusers
group instead of theadministrators
group.这取决于您真正“追求”的是什么...如果您位于 Windows 域(使用 Active Directory),那么您可以查询 Active Directory IF Active Directory 用于限制“授权”使用本地计算机的用户。
如果您的要求不是那么严格,那么您可以检查系统 UserProfiles 中的文件夹,其中除“默认用户”和“所有用户”之外的每个文件夹都代表已登录到本地计算机的用户配置文件。 警告这可能包括系统和/或服务帐户...
It depends on what you are really 'after'... if you are on a windows domain (using active directory) then you can query Active Directory IF active directory is being used to limit the users who are "authorized" to use the local machine.
If your requirements are not as stringent then you can inspect the folders in the system UserProfiles where each folder except Default User and All Users represent a user profile that has logged into the local machine. caution this may include system and/or service accounts...