Jak mogę utworzyć nowe konto użytkownika w systemie Windows 8 powiązane z kontem e-mail Microsoft?

14

Jak mogę utworzyć nowe lokalne konto użytkownika w systemie Windows 8 powiązane z kontem e-mail Microsoft (np. MicrosoftAccount\[email protected]) Programowo, przy użyciu programu PowerShell lub innego języka skryptowego dostępnego w systemie Windows. Skrypt zostanie dostarczony z adresem e-mail i hasłem do konta Microsoft.

Z góry dziękuje za twoją pomoc!

Piotr Shatalin
źródło
Masz zamiar wstępnie utworzyć konta e-mail / MS i po prostu chcesz utworzyć nowego użytkownika systemu Windows i powiązać go z tym kontem e-mail / MS, prawda? Czy próbowałeś użyć tradycyjnych poleceń „Net Net”?
ᴇcʜιᴇ007
1
@ techie007 Tak, w obecnym przypadku wszystkie konta e-mail Microsoft są już utworzone. Ale po przeczytaniu twojego komentarza zdałem sobie sprawę, że bardzo przydatne byłoby dla mnie, aby móc utworzyć te konta programowo. Jeśli więc ktoś wie, jak to zrobić, prosimy o dołączenie go do swojej odpowiedzi. Dzięki!
Piotr Shatalin
Automatyzacja tworzenia kont e-mail na stronie MS byłaby tutaj nie na temat, dlatego chciałem uzyskać wyjaśnienie, które części próbujesz zautomatyzować. :) Poza tworzą, że to, co dokładnie mają już próbował? Gdzie utkniesz w swoim skrypcie?
ᴇcʜιᴇ007
@ techie007 Jestem całkiem nowym użytkownikiem skryptów PowerShell, w zasadzie znam się tylko na manipulowaniu systemem plików / rejestru / ACL, ogólnymi konstrukcjami potoków i skryptów oraz interakcją .NET / COM.
Piotr Shatalin

Odpowiedzi:

3

Konta Windows powiązane z kontami Microsoft są zwykłymi kontami Windows z odrobiną dodatkowych informacji dodanych do nich w SAM.

Najpierw używasz ulubionej metody do tworzenia nowych kont (użytkownik sieci, PowerShell, WMI), a następnie dodajesz dodatkowe informacje do nowych kont.

Jest to w rzeczywistości dość trudne, ponieważ Microsoft nie zapewnia publicznego interfejsu API. Na szczęście ktoś wykonał dla nas całą ciężką pracę. Ten post na blogu wyjaśnia szczegóły i zawiera skrypt programu PowerShell w celu dodania dodatkowych informacji.

Peter Hahndorf
źródło
0

Tak, automatyczne tworzenie konta Live jest niezgodne z TOS dla usługi Live, dlatego nie jest tu tematem. Myślę jednak, że szukasz tego:

# 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()

Lub możesz użyć starej metody:

Inną alternatywą są stare szkolne polecenia NET USER:

NET USER username "password" /ADD

OK - nie możesz ustawić wszystkich opcji, ale jest to o wiele mniej skomplikowane w przypadku prostego tworzenia użytkowników i łatwego pisania skryptów w Powershell.

NET LOCALGROUP "group" "user" /add to set group membership.
TomEus
źródło
Gdzie dokładnie w skrypcie tworzone konto użytkownika jest powiązane ze wstępnie utworzonym kontem e-mail Microsoft? Zakładam, że hasło do konta e-mail należy podać w jakimś miejscu, prawda?
Piotr Shatalin