New-LocalUser

创建本地用户帐户。

语法

New-LocalUser
   [-AccountExpires <DateTime>]
   [-AccountNeverExpires]
   [-Description <String>]
   [-Disabled]
   [-FullName <String>]
   [-Name] <String>
   -Password <SecureString>
   [-PasswordNeverExpires]
   [-UserMayNotChangePassword]
   [-WhatIf]
   [-Confirm]
   [<CommonParameters>]
New-LocalUser
   [-AccountExpires <DateTime>]
   [-AccountNeverExpires]
   [-Description <String>]
   [-Disabled]
   [-FullName <String>]
   [-Name] <String>
   [-NoPassword]
   [-UserMayNotChangePassword]
   [-WhatIf]
   [-Confirm]
   [<CommonParameters>]

说明

New-LocalUser cmdlet 创建本地用户帐户。 此 cmdlet 创建本地用户帐户。

注意

Microsoft.PowerShell.LocalAccounts 模块在 64 位系统上的 32 位 PowerShell 中不可用。

示例

示例 1:创建用户帐户

New-LocalUser -Name 'User02' -Description 'Description of this account.' -NoPassword

Name    Enabled  Description
----    -------  -----------
User02  True     Description of this account.

此命令将创建本地用户帐户,并且不指定 AccountExpiresPassword 参数。 帐户不会过期或具有密码。

示例 2:创建具有密码的用户帐户

$Password = Read-Host -AsSecureString
$params = @{
    Name        = 'User03'
    Password    = $Password
    FullName    = 'Third User'
    Description = 'Description of this account.'
}
New-LocalUser @params

Name    Enabled  Description
----    -------  -----------
User03  True     Description of this account.

第一个命令使用 Read-Host cmdlet 提示输入密码。 该命令将密码存储为 $Password 变量中的安全字符串。

第二个命令创建本地用户帐户,并将新帐户的密码设置为存储在 $Password 中的安全字符串。 该命令指定用户帐户的用户名、全名和说明。

参数

-AccountExpires

指定用户帐户的过期时间。 可以使用 Get-Date cmdlet 获取 DateTime 对象。 如果不指定此参数,则帐户不会过期。

类型:DateTime
Position:Named
默认值:None
必需:False
接受管道输入:True
接受通配符:False

-AccountNeverExpires

指示帐户不会过期。

类型:SwitchParameter
Position:Named
默认值:None
必需:False
接受管道输入:True
接受通配符:False

-Confirm

提示你在运行 cmdlet 之前进行确认。

类型:SwitchParameter
别名:cf
Position:Named
默认值:False
必需:False
接受管道输入:False
接受通配符:False

-Description

指定用户帐户的注释。 最大长度为 48 个字符。

类型:String
Position:Named
默认值:None
必需:False
接受管道输入:True
接受通配符:False

-Disabled

指示此 cmdlet 将用户帐户创建为已禁用。

类型:SwitchParameter
Position:Named
默认值:None
必需:False
接受管道输入:True
接受通配符:False

-FullName

指定用户帐户的全名。 全名不同于用户帐户的用户名。

类型:String
Position:Named
默认值:None
必需:False
接受管道输入:True
接受通配符:False

-Name

指定用户帐户的用户名。

用户名最多可以包含 20 个大写字符或小写字符。 用户名不能包含以下字符:

用户名不能仅包含句点 . 或空格。

类型:String
Position:0
默认值:None
必需:True
接受管道输入:True
接受通配符:False

-NoPassword

指示用户帐户没有密码。

类型:SwitchParameter
Position:Named
默认值:None
必需:True
接受管道输入:True
接受通配符:False

-Password

指定用户帐户的密码。 可以使用 Read-Host -AsSecureStringGet-CredentialConvertTo-SecureString 为密码创建 SecureString 对象。

如果省略 PasswordNoPassword 参数,New-LocalUser 会提示输入用户的密码。

类型:SecureString
Position:Named
默认值:None
必需:True
接受管道输入:True
接受通配符:False

-PasswordNeverExpires

指示新用户的密码是否过期。

类型:SwitchParameter
Position:Named
默认值:None
必需:False
接受管道输入:True
接受通配符:False

-UserMayNotChangePassword

指示用户不能更改用户帐户的密码。

类型:SwitchParameter
Position:Named
默认值:None
必需:False
接受管道输入:True
接受通配符:False

-WhatIf

显示运行该 cmdlet 时会发生什么情况。 cmdlet 未运行。

类型:SwitchParameter
别名:wi
Position:Named
默认值:False
必需:False
接受管道输入:False
接受通配符:False

输入

String

可以通过管道将字符串传递给此 cmdlet。

DateTime

可以将 DateTime 对象通过管道传递给此 cmdlet。

Boolean

可以通过管道将布尔值传递给此 cmdlet。

SecureString

可以通过管道将安全字符串传递给此 cmdlet。

输出

System.Management.Automation.SecurityAccountsManager.LocalUser

此 cmdlet 返回表示创建的用户帐户的 LocalUser 对象。

备注

Windows PowerShell 包含以下 New-LocalUser 别名:

  • nlu

用户名不能与计算机上的任何其他用户名或组名称相同。 用户名不能仅包含句点 . 或空格。 用户名最多可以包含 20 个大写字符或小写字符。 用户名不能包含以下字符:

密码最多可以包含 127 个字符。

PrincipalSource 属性是 LocalUserLocalGroupLocalPrincipal 对象上用于描述对象的源的属性。 可能的源如下所示:

  • Local
  • Active Directory
  • AzureAD
  • MicrosoftAccount

注意

PrincipalSource 仅受 Windows 10、Windows Server 2016 和更高版本的 Windows 操作系统支持。 对于早期版本,该属性为空。