如何在与Microsoft电子邮件帐户关联的Windows 8上创建新的用户帐户?


14

如何MicrosoftAccount\someone@live.com使用Windows上可用的PowerShell或另一种脚本语言在Windows 8上以编程方式与Microsoft电子邮件帐户(例如)关联的新本地用户帐户。该脚本将提供Microsoft帐户的电子邮件地址和密码。

在此先感谢您的帮助!


您将要预先创建电子邮件/ MS帐户,而您只是想创建一个新的Windows用户并将其与该电子邮件/ MS帐户相关联,对吗?您是否尝试过使用传统的“网络用户”命令?
Ƭᴇcʜιᴇ007

1
@ techie007是的,在当前情况下,所有Microsoft电子邮件帐户均已预先创建。但是在阅读您的评论后,我意识到能够以编程方式创建这些帐户对我非常有用。因此,如果有人知道该怎么做,请将其包括在您的答案中。谢谢!
Piotr Shatalin

在MS站点上自动创建电子邮件帐户将在这里不那么重要,这就是为什么我想要澄清您要自动化的部分。:)除了形成,究竟你试过了吗?您在哪里陷于脚本中?
Ƭᴇcʜιᴇ007

@ techie007我是PowerShell脚本方面的新手,基本上只熟悉文件系统/注册表/ ACL操作,常规管道和脚本结构以及.NET / COM互操作。
Piotr Shatalin

Answers:


3

与Microsoft帐户关联的Windows帐户只是普通的Windows帐户,并在SAM中添加了一些额外的信息。

您首先使用自己喜欢的方法来创建新帐户(网络用户,PowerShell,WMI),然后将额外的信息添加到新帐户中。

这实际上很难完成,因为Microsoft并未为此提供公共API。幸运的是有人为我们做了所有的辛苦工作。这篇博客文章解释了细节,并提供了一个PowerShell脚本来添加其他信息。


0

是的,针对实时服务的TOS会自动创建实时帐户,因此不在此处。但我认为您正在寻找的是:

# 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.

脚本中要创建的用户帐户与预创建的Microsoft电子邮件帐户完全相关的位置是什么?我认为应该在某个地方提供电子邮件帐户密码,对吗?
Piotr Shatalin
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.