C#检查两台计算机是否在可信域(或:决定winrm连接的认证机制)
问题描述:
我想通过winrm连接到其他计算机。我只获得了我想连接的目标计算机的FQDN。我不知道目标是否位于受信任的域中。 所以基本的问题是我如何现在需要哪种认证机制来连接? 有没有任何C#.NET方法来检查?C#检查两台计算机是否在可信域(或:决定winrm连接的认证机制)
或者是更简单的方法来设置Kerberos的身份验证机制,如果它失败设置它协商?
WSManConnectionInfo wci = new WSManConnectionInfo(TargetUri, ShellUri.ToString(), Credential);
wci.AuthenticationMechanism = AuthenticationMechanism.Kerberos;
答
有溶液
http://social.msdn.microsoft.com/Forums/en/csharpgeneral/thread/0a5cb5a4-317c-4fcd-9221-85884af1217f
//Trusts for current domain
Domain currentDomain = Domain.GetCurrentDomain();
var domainTrusts = currentDomain.GetAllTrustRelationships();