Как я могу создать новую учетную запись пользователя в Windows 8, связанную с учетной записью электронной почты Microsoft?

14

Как я могу создать новую учетную запись локального пользователя в Windows 8, связанную с учетной записью электронной почты Microsoft (например MicrosoftAccount\someone@live.com) программно, используя PowerShell или другой язык сценариев, доступный в Windows. Сценарий будет снабжен адресом электронной почты и паролем для учетной записи Microsoft.

Заранее спасибо за помощь!

Петр Шаталин
источник
Вы собираетесь предварительно создать учетные записи электронной почты / MS, и вы просто хотите создать нового пользователя Windows и связать его с этой учетной записью электронной почты / MS, правильно? Вы пытались использовать традиционные команды «Net User»?
Ƭᴇcʜιᴇ007
1
@ techie007 Да, в данном случае все учетные записи электронной почты Microsoft уже созданы заранее. Но после прочтения вашего комментария я понял, что было бы очень полезно иметь возможность создавать эти учетные записи программно. Итак, если кто-нибудь знает, как это сделать, пожалуйста, включите его в свой ответ. Благодарность!
Петр Шаталин
Автоматизация создания учетных записей электронной почты на сайте MS была бы здесь не по теме, поэтому я хотел получить разъяснения о том, какие части вы пытаетесь автоматизировать. :) Помимо формирования того, что именно у вас уже пробовал? Где вы застряли в своем сценарии?
Ƭᴇcʜιᴇ007
@ techie007 Я довольно новичок в сценариях PowerShell, в основном знаком только с манипулированием файловой системой / реестром / ACL, общими конвейерными конструкциями и сценариями, а также взаимодействием .NET / COM.
Петр Шаталин

Ответы:

3

Учетные записи Windows, связанные с учетными записями Microsoft, являются просто обычными учетными записями Windows, к которым в SAM добавляется немного дополнительной информации.

Сначала вы используете свой любимый метод для создания новых учетных записей (сетевой пользователь, PowerShell, WMI), а затем добавляете дополнительную информацию к новым учетным записям.

Это на самом деле довольно сложно сделать, потому что Microsoft не предоставляет публичный API для него. К счастью, кто-то сделал всю тяжелую работу за нас. Этот пост в блоге объясняет детали и предоставляет скрипт PowerShell для добавления дополнительной информации.

Питер Хандорф
источник
0

Да, создание учетной записи Live автоматически противоречит TOS для службы Live, поэтому здесь не по теме. Но я думаю, что вы ищете это:

# Create new local Admin user for script purposes
$Computer = [ADSI]"WinNT://$Env:COMPUTERNAME,Computer"

$LocalAdmin = $Computer.Create("User", "LocalAdmin")
$LocalAdmin.SetPassword("Password01")
$LocalAdmin.SetInfo()
$LocalAdmin.FullName = "Local Admin by Powershell"
$LocalAdmin.SetInfo()
$LocalAdmin.UserFlags = 64 + 65536 # ADS_UF_PASSWD_CANT_CHANGE + ADS_UF_DONT_EXPIRE_PASSWD
$LocalAdmin.SetInfo()

Или вы можете использовать старый метод:

Другой альтернативой являются команды NET USER старой школы:

NET USER username "password" /ADD

ОК - вы не можете установить все параметры, но это намного менее запутанно для простого создания пользователя и легкого создания сценариев в Powershell.

NET LOCALGROUP "group" "user" /add to set group membership.
TomEus
источник
Где именно в сценарии создаваемая учетная запись пользователя связана с предварительно созданной учетной записью электронной почты Microsoft? Я предполагаю, что пароль учетной записи электронной почты должен быть предоставлен в каком-то месте, верно?
Петр Шаталин