C#检查两台计算机是否位于受信任域中(或:确定winrm连接的身份验证机制)

C#检查两台计算机是否位于受信任域中(或:确定winrm连接的身份验证机制),c#,authentication,kerberos,winrm,negotiate,C#,Authentication,Kerberos,Winrm,Negotiate,我想通过winrm连接到其他计算机。我只获得了要连接的目标计算机的FQDN。我没有目标的信息,无论它是否在受信任的域中。 因此,基本问题是,我现在如何确定连接需要哪种身份验证机制? 是否有任何C#.NET方法来检查这一点 还是将身份验证机制设置为kerberos更简单的方法,如果失败,则将其设置为协商 WSManConnectionInfo wci = new WSManConnectionInfo(TargetUri, ShellUri.ToString(), Credential); wci

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

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

WSManConnectionInfo wci = new WSManConnectionInfo(TargetUri, ShellUri.ToString(), Credential);
wci.AuthenticationMechanism = AuthenticationMechanism.Kerberos;
有解决办法

//Trusts for current domain
Domain currentDomain = Domain.GetCurrentDomain();
var domainTrusts = currentDomain.GetAllTrustRelationships();