PowerShell:创建本地用户帐户

PnP*_*PnP 54 powershell powershell-2.0

我需要创建一个新的本地用户帐户,然后将它们添加到本地Administrators组.可以在PowerShell中完成吗?

编辑:

# 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()
Run Code Online (Sandbox Code Playgroud)

我有这个,但想知道是否还有更多的PowerShell风格.

Sin*_*uin 67

另一种选择是旧学校的NET USER命令:

NET USER username "password" /ADD

好的 - 您无法设置所有选项,但对于简单的用户创建和在Powershell中易于编写脚本而言,它不那么复杂.

NET LOCALGROUP "group" "user" /add 设置组成员资格.

  • 调出`net.exe`比我原来的ADSI代码“少”“ PowerShell风格”。这些命令中没有任何指示PowerShell的内容,您可以将它们放入一个批处理文件中,它们的工作原理相同。对我来说,这避免了使用面向对象的Shell的Power,而又转而不得不处理特定于应用程序的命令语法,退出代码和错误消息。公平地说,这里确实存在两个不同的问题:“如何在PowerShell中执行此操作?” 和“我可以在PowerShell中做到这一点。我如何做得更好?” (2认同)
  • FWIW 我遇到了我编写的用于包装“NET USER /ADD”调用的 PowerShell 函数的问题。具体来说,如果密码长度超过 14 个字符,NET USER 命令行将提示用户输入以确认 Y/N。NET USER 中没有命令行选项来提供确认,以便“冻结”非交互运行的 PS 脚本。 (2认同)

cod*_*ion 42

从PowerShell 5.1开始,cmdlet New-LocalUser可以创建本地用户帐户.

用法示例:

创建用户帐户

New-LocalUser -Name "User02" -Description "Description of this account." -NoPassword
Run Code Online (Sandbox Code Playgroud)

或创建具有密码的用户帐户

$Password = Read-Host -AsSecureString
New-LocalUser "User03" -Password $Password -FullName "Third User" -Description "Description of this account."
Run Code Online (Sandbox Code Playgroud)

或创建连接到Microsoft帐户的用户帐户

New-LocalUser -Name "MicrosoftAccount\usr name@Outlook.com" -Description "Description of this account." 
Run Code Online (Sandbox Code Playgroud)


Aar*_*sen 11

尝试使用Carbon的 Install-UserAdd-GroupMember功能:

Install-User -Username "User" -Description "LocalAdmin" -FullName "Local Admin by Powershell" -Password "Password01"
Add-GroupMember -Name 'Administrators' -Member 'User'
Run Code Online (Sandbox Code Playgroud)

免责声明:我是Carbon项目的创建者/维护者.


ras*_*asx 6

截至2014年,这是 Microsoft代表(脚本专家)的声明:

尽管我们可能不愿意承认,但仍然没有Microsoft的Windows PowerShell cmdlet允许创建本地用户帐户或本地用户组.我们最终有一个可以执行此操作的所需状态配置(DSC)提供程序 - 但到目前为止,没有cmdlet.