问题描述
如何从C#检查本地用户帐户(即本地管理员帐户)是否处于活动状态?
How can I check from C# if a local user account (namely the local Administrator account) is active?
我真正想要的是从"net user Administrator"命令输出的"Account Active" ="Yes"(或"No")的C#替代品.
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#中检查用户帐户是否处于活动状态的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!