Какое имя для входа в учетную запись используется с Microsoft ID при удаленном подключении к Windows 10 или в клиенте удаленного рабочего стола?

Когда я кодировал C# для подключения с Mac к ПК с Windows 10, я обнаружил неудачное соединение. Я попробовал еще раз с помощью клиента удаленного рабочего стола Microsoft, и он сказал, что авторизация не удалась. Единственная учетная запись на ПК используется с идентификатором Microsoft ID, который раньше был LIVE ID (например, [email protected]).

Я старался

[email protected]"

или полное имя, отображаемое в списке учетных записей, который

А Б ([email protected])"

или имя пользователя учетной записи, а также имя домашней папки пользователя

азбука

Ни один из них не работает.

Мне удалось подключиться с учетными данными локальной учетной записи (обычное имя учетной записи с паролем), но мне нужно знать, как автоматически установить имя учетной записи в приложении, когда пользователь вошел в систему только с идентификатором Microsoft (без автономной учетной записи).

Любой комментарий?


person Min    schedule 19.11.2015    source источник


Ответы (1)


Я также потребовал такого же сопоставления из кода службы Windows и сделал следующее:

Перечислены все пользователи, использующие API NetUserEnum() с уровнем 0, чтобы получить каждое имя пользователя.

Для каждого имени пользователя с именем NetUserGetInfo() с уровнем 24. Он использует структуру _USER_INFO_24 для возврата своего интернет-идентификатора для имени пользователя.

Если usri24_internet_principal_name элемент структуры соответствует заданному идентификатору Microsoft, значит, мы нашли требуемое имя пользователя.

Примечание. Уровень 24 доступен в Windows 8 и более поздних версиях. Но его можно легко использовать с предыдущим SDK, просто определив структуру _USER_INFO_24 в коде.

Фрагмент кода см. в моем ответе по адресу: Получить локальное имя входа для данной учетной записи Microsoft, возвращаемое API NetWkstaUserEnum в Windows 8 и более поздних версиях

person HelloWorld    schedule 21.12.2015