Como posso criar uma nova conta de usuário no Windows 8 associada a uma conta de email da Microsoft?

14

Como posso criar uma nova conta de usuário local no Windows 8 associada a uma conta de email da Microsoft (por exemplo MicrosoftAccount\[email protected]) programaticamente, usando o PowerShell ou outra linguagem de script disponível no Windows. O script será fornecido com o endereço de email e a senha da conta da Microsoft.

Agradeço antecipadamente por sua ajuda!

Piotr Shatalin
fonte
Você vai pré-criar as contas de email / MS e só deseja criar um novo usuário do Windows e associá-lo a essa conta de email / MS, correto? Você já tentou usar o (s) comando (s) "Net User" tradicional (s)?
Ƭᴇcʜιᴇ007
1
@ techie007 Sim, no caso atual, todas as contas de email da Microsoft já estão pré-criadas. Mas, ao ler seu comentário, percebi que seria muito útil poder criar essas contas programaticamente. Portanto, se alguém souber como fazer isso, inclua-o na sua resposta. Obrigado!
Piotr Shatalin
Automatizar a criação de contas de e-mail no site da MS seria fora de tópico aqui, é por isso que eu queria obter esclarecimentos sobre quais partes você está tentando automatizar. :) Além forma que, o que exatamente tem você já tentou? Onde você está ficando preso nos scripts?
Ƭᴇcʜιᴇ007
@ techie007 Sou um novato em scripts do PowerShell, basicamente familiarizado apenas com a manipulação de sistema de arquivos / registro / ACL, construções gerais de pipelining e script e interoperabilidade .NET / COM.
Piotr Shatalin

Respostas:

3

As contas do Windows associadas às contas da Microsoft são apenas contas normais do Windows, com algumas informações extras adicionadas a elas no SAM.

Você primeiro usa seu método favorito para criar suas novas contas (usuário da rede, PowerShell, WMI) e, em seguida, adiciona informações extras às novas contas.

Na verdade, isso é bastante complicado, porque a Microsoft não fornece uma API pública para isso. Felizmente, alguém fez todo o trabalho duro por nós. Esta postagem do blog explica os detalhes e fornece um script do PowerShell para adicionar informações adicionais.

Peter Hahndorf
fonte
0

Sim, criar a conta do Live automaticamente é contra os Termos de Serviço para o serviço Live, portanto, está fora do tópico aqui. Mas acho que o que você está procurando é o seguinte:

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

Ou você pode usar o método antigo:

Outra alternativa são os comandos NET USER da velha escola:

NET USER username "password" /ADD

OK - você não pode definir todas as opções, mas é muito menos complicado para a criação simples de usuários e fácil de criar scripts no Powershell.

NET LOCALGROUP "group" "user" /add to set group membership.
TomEus
fonte
Onde exatamente no script a conta de usuário que está sendo criada está associada a uma conta de email da Microsoft pré-criada? Eu assumo que a senha da conta de email deve ser fornecida em algum lugar, certo?
Piotr Shatalin