如果用户帐户处于活动状态,如何签入 C# [英] How to check in C# if user account is active

查看:19
本文介绍了如果用户帐户处于活动状态,如何签入 C#的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

如何从 C# 中检查本地用户帐户(即本地管理员帐户)是否处于活动状态?

How can I check from C# if a local user account (namely the local Administrator account) is active?

我真正想要的是用 C# 替换net user Administrator"命令的Account Active"=Yes"(或No")输出.

What I actually want is a C# replacement for the "Account Active" = "Yes" (or "No") output from the "net user Administrator" command.

恐怕这个问题看起来与 这个 一个,但我不知道该传入什么用于根 DirectoryEntry 对象的参数.尝试了不同的东西,如ldap://"+ Environment.MachineName、ldap://127.0.0.1"、WinNT://"+ Environment.MachineName,但都没有奏效.在所有三种情况下,searcher.FindAll() 调用都会引发异常.

I'm afraid this question looks like a duplicate to this one, but I don't know what to pass in for the parameter for the root DirectoryEntry object. Tried different things like "ldap://" + Environment.MachineName, "ldap://127.0.0.1", "WinNT://" + Environment.MachineName, but none of them worked. I get an exception thrown by the searcher.FindAll() call in all three cases.

推荐答案

class Program
{
    static void Main(string[] args)
    {

        // Create the context for the principal object. 
        PrincipalContext ctx = new PrincipalContext(ContextType.Machine);

        UserPrincipal u = UserPrincipal.FindByIdentity(ctx, IdentityType.SamAccountName, "Administrator");
        Console.WriteLine(String.Format("Administrator is enable: {0}", u.Enabled));

    }
}

这篇关于如果用户帐户处于活动状态,如何签入 C#的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
相关文章
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆