如何检查计算机的域帐户是否得到了无效的(信任被打破)?(How can I check whethe

2019-10-19 06:38发布

我必须承认其笔记本domain accounts不再有效。

无效的域帐户可能的几个问题发生的原因。 大多客户得到了从备份中恢复,之后的域帐户是不再有效

诠释这种情况下,水煤浆是:

  • 用户的登录致力于通过cached credentials
  • 用户has access to shares和文件服务器上(NTLM)
  • 通过访问Kerberos does not work

是否有可能来检查计算机帐户的有效性?

Answer 1:

有了这个代码,我可以找到invalid computer domain accounts

try
{
    string sMyComputer = "MyComputer"
    Domain computerDomain = Domain.GetComputerDomain(); // may! throw ActiveDirectoryObjectNotFoundException if computer account is invalid 
    string sComputerDomain = computerDomain.Name;
    NTAccount acc_machine = new NTAccount(sComputerDomain, sMyComputer + "$"); 
    SecurityIdentifier sid = (SecurityIdentifier)acc_machine.Translate(typeof(SecurityIdentifier)); // always throws an SystemException if computer account is invalid
}
catch    
{ 
   // something is wrong with the account    
}
  • sMyComputer +“$”是帐户名是如何存储在Active Directory
  • 我的经验是,第一个例外大多没有抛出,返回值是电脑曾经工作的计算机帐户的域的正确名称
  • 如果computeraccount现在是无效的第二异常(SystemException的)总是抛出。 该errocode是80004005(我所预料的IdentityNotMappedException)

编辑:
在代码中纠正错误



文章来源: How can I check whether the domain account of a computer got invalid (the trust is broken)?