0

当我编写 C# 以从 Mac 连接到 Windows 10 PC 时,我发现连接失败。我再次尝试使用 Microsoft 远程桌面客户端,它说授权失败。PC 上的唯一帐户是使用以前是 LIVE ID 的 Microsoft ID 登录的(例如 abc@live.com)。

我试过了

abc@live.com"

或帐户列表中显示的全名

AB (abc@live.com)"

或帐户的用户名,也是用户主文件夹的名称

美国广播公司

他们都没有工作。

我设法连接了本地帐户凭据(带有密码的常规帐户名),但我需要知道当用户仅使用 Microsoft ID 登录(没有脱机帐户)时如何在应用程序中自动设置帐户名。

任何意见?

4

1 回答 1

0

我还需要来自 Windows 服务代码的相同映射并执行以下操作:

枚举所有使用NetUserEnum()0 级 API 的用户来获取每个用户名。

对于每个NetUserGetInfo()使用级别 24 调用的用户名。它使用该结构_USER_INFO_24返回用户名的 Internet 身份。

如果usri24_internet_principal_name结构的成员与给定的 Microsoft Id 匹配,则我们已找到所需的用户名。

注意:级别 24 在 Windows 8 及更高版本中可用。但是可以通过简单地_USER_INFO_24在代码中定义结构来轻松地与以前的 SDK 一起使用。

有关代码片段,请参阅我的答案: Get the local login name for the given Microsoft Account returned by NetWkstaUserEnum API on Windows 8 and above

于 2015-12-21T08:29:00.213 回答