我目前正在使用DsRoleGetPrimaryDomainInformation API获取计算机加入的域名。但是,这似乎不适用于Azure AD域,在这种情况下,此API将返回空响应。
是否有任何其他API可以在本地使用,而无需联系服务器,以确定计算机加入哪个Azure AD域?
答案 0 :(得分:0)
找不到用于实现此目的的API,但是我们可以使用命令Net Config Workstation
(请参阅here)来获取客户端计算机的实际登录域名。
以下是使用C#打印相关信息的代码示例:
public static string GetDoaminInfo()
{
Process cmd = new Process();
cmd.StartInfo.FileName = "cmd.exe";
cmd.StartInfo.RedirectStandardInput = true;
cmd.StartInfo.RedirectStandardOutput = true;
cmd.StartInfo.CreateNoWindow = true;
cmd.StartInfo.UseShellExecute = false;
cmd.Start();
cmd.StandardInput.WriteLine("net config workstation");
cmd.StandardInput.Flush();
cmd.StandardInput.Close();
cmd.WaitForExit();
return cmd.StandardOutput.ReadToEnd();
}