C#检查两台计算机是否在受信任的域中(或者:确定winrm连接的哪种认证机制)

时间:2013-02-18 10:54:54

标签: c# authentication kerberos winrm negotiate

我想通过winrm连接到其他计算机。我只得到了我想连接的目标计算机的FQDN。我没有目的地信息,无论它是否在受信任的域中。 所以基本的问题是我现在如何连接需要哪种身份验证机制? 是否有任何C#.NET方法来检查它?

或者是将验证机制设置为kerberos的更简单方法,如果失败则将其设置为协商?

WSManConnectionInfo wci = new WSManConnectionInfo(TargetUri, ShellUri.ToString(), Credential);
wci.AuthenticationMechanism = AuthenticationMechanism.Kerberos;

1 个答案:

答案 0 :(得分:0)

有解决方案

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();