【问题标题】:VB Getting list of local usersVB获取本地用户列表
【发布时间】:2015-03-15 15:32:18
【问题描述】:

我需要获取所有本地用户的方法。如果我只是去用户文件夹会得到本地用户和域用户。有没有办法只获取本地用户。

我想要的是名字。

【问题讨论】:

  • 我什么都没有尝试过。我知道我可以访问“C:\Users”并获取所有用户的名称。但我只需要本地机器中的那些,而不是域中的。我需要知道这样做的方法,我想也许用 regedit?

标签: vb.net list local


【解决方案1】:

您需要添加对System.DirectoryServices 的引用才能使用此功能...

 Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
    Dim Users As List(Of String) = GetLocalUsers("localhost")

    For Each User As String In Users
        MessageBox.Show(User)
    Next
End Sub

Private Function GetLocalUsers(ByVal MachineName As String) As List(Of String)
    Dim WinNt As New DirectoryServices.DirectoryEntry("WinNT://" & MachineName)
    Dim UserList As New List(Of String)

    For Each User As DirectoryServices.DirectoryEntry In WinNt.Children
        If User.SchemaClassName = "User" Then
            UserList.Add(User.Name)
        End If
    Next

    Return UserList
End Function

【讨论】:

  • 谢谢,有空我试试看:)非常感谢
  • @Plutonix 是的,我知道,但我不知道它是否能解决我的问题。当我能够测试它时,如果它确实解决了它,我将单击复选标记:D:D
  • 它说它没有声明,我应该使用什么进口?
  • 它在我的回答中..您需要添加参考...导入 system.directoryservices...
  • 警告 1 在 Imports 'System.Directory.Services' 中指定的命名空间或类型不包含任何公共成员或找不到。确保命名空间或类型已定义并包含至少一个公共成员。确保导入的元素名称不使用任何别名。 ERROR MESSAGE 为什么显示这个
猜你喜欢
  • 2015-11-06
  • 2021-12-27
  • 2023-04-03
  • 2023-03-15
  • 1970-01-01
  • 2021-08-06
  • 1970-01-01
  • 1970-01-01
  • 2015-08-27
相关资源
最近更新 更多