使用本地管理员帐户登录Vb.net程序

使用本地管理员帐户登录Vb.net程序,vb.net,authentication,administrator,Vb.net,Authentication,Administrator,我写了一个程序,需要用户登录使用本地管理员帐户。 但是每台电脑的本地管理员帐户名都不同,所以我无法硬编码用户名 下面的代码仅检索了Administrators组中的用户,但未检索到身份验证。你能帮忙吗? 1.如何验证用户名和密码? 2.如何强制用户仅使用本地用户帐户登录 Dim localMachine As New DirectoryEntry("WinNT://" & "localhost") Dim admGroup As DirectoryEntr

我写了一个程序,需要用户登录使用本地管理员帐户。 但是每台电脑的本地管理员帐户名都不同,所以我无法硬编码用户名

下面的代码仅检索了Administrators组中的用户,但未检索到身份验证。你能帮忙吗? 1.如何验证用户名和密码? 2.如何强制用户仅使用本地用户帐户登录

        Dim localMachine As New DirectoryEntry("WinNT://" & "localhost")
        Dim admGroup As DirectoryEntry = localMachine.Children.Find("Administrators", "group")
        Dim members As Object = admGroup.Invoke("members", Nothing)
        For Each groupMember As Object In CType(members, IEnumerable)
            Dim member As New DirectoryEntry(groupMember)
            MsgBox(member.Name)
        Next

确保您的应用程序以管理权限运行的最佳和最简单的方法是创建这样一个请求

您永远不应该硬编码这样的内容,UAC的存在意味着不能保证管理员组成员的用户在当前对您的流程具有管理权限

VB.NET编译器会自动将默认清单嵌入到应用程序中,但该默认清单不会请求管理权限。因此,您需要添加一个自定义清单,这样做。
要获得一个,请执行以下步骤:

  • 在解决方案资源管理器中右键单击项目
  • 从关联菜单中选择“属性”
  • 切换到“应用程序”选项卡
  • 单击“查看窗口设置”打开清单文件
  • 进行以下修改:
  •