Set-LocalUser

修改本地用户帐户。

语法

Set-LocalUser
   [-AccountExpires <DateTime>]
   [-AccountNeverExpires]
   [-Description <String>]
   [-FullName <String>]
   [-Name] <String>
   [-Password <SecureString>]
   [-PasswordNeverExpires <Boolean>]
   [-UserMayChangePassword <Boolean>]
   [-WhatIf]
   [-Confirm]
   [<CommonParameters>]
Set-LocalUser
   [-AccountExpires <DateTime>]
   [-AccountNeverExpires]
   [-Description <String>]
   [-FullName <String>]
   [-InputObject] <LocalUser>
   [-Password <SecureString>]
   [-PasswordNeverExpires <Boolean>]
   [-UserMayChangePassword <Boolean>]
   [-WhatIf]
   [-Confirm]
   [<CommonParameters>]
Set-LocalUser
   [-AccountExpires <DateTime>]
   [-AccountNeverExpires]
   [-Description <String>]
   [-FullName <String>]
   [-Password <SecureString>]
   [-PasswordNeverExpires <Boolean>]
   [-SID] <SecurityIdentifier>
   [-UserMayChangePassword <Boolean>]
   [-WhatIf]
   [-Confirm]
   [<CommonParameters>]

说明

Set-LocalUser cmdlet 修改本地用户帐户。 此 cmdlet 可以重置本地用户帐户的密码。

注意

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

示例

示例 1:更改用户帐户的说明

Set-LocalUser -Name "Admin07" -Description "Description of this account."

此命令更改名为 Admin07 的用户帐户的说明。

示例 2:更改帐户的密码

$Password = Read-Host -AsSecureString
$UserAccount = Get-LocalUser -Name "User02"
$UserAccount | Set-LocalUser -Password $Password

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

第二个命令使用Get-LocalUser获取名为 User02 的用户帐户。 该命令将帐户存储在 $UserAccount 变量中。

第三个命令设置存储在$UserAccount中的用户帐户的新密码。

参数

-AccountExpires

指定用户帐户的过期时间。 要获取DateTime对象,请使用Get-Date cmdlet。

如果不希望帐户过期,请指定AccountNeverExpires参数。

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

-AccountNeverExpires

指示帐户不会过期。

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

-Confirm

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

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

-Description

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

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

-FullName

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

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

-InputObject

指定此 cmdlet 更改的用户帐户。 若要获取用户帐户,请使用 Get-LocalUser cmdlet。

类型:Microsoft.PowerShell.Commands.LocalUser
Position:0
默认值:None
必需:True
接受管道输入:True
接受通配符:False

-Name

指定此 cmdlet 更改的用户帐户的名称。

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

-Password

指定用户帐户的密码。 如果用户帐户已连接到 Microsoft 帐户,请不要设置密码。

可以使用Read-Host -AsSecureStringGet-CredentialConvertTo-SecureString为密码创建SecureString对象。

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

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

-PasswordNeverExpires

指示密码是否过期。

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

-SID

指定此 cmdlet 更改的用户帐户的安全 ID (SID)。

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

-UserMayChangePassword

指示用户可以更改用户帐户的密码。

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

-WhatIf

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

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

输入

System.Management.Automation.SecurityAccountsManager.LocalUser

可以通过管道将本地用户传递给此 cmdlet。

String

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

SecurityIdentifier

可以通过管道将 SID 传递给此 cmdlet。

输出

None

此 cmdlet 不返回任何输出。

备注

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

  • slu

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

  • Local
  • Active Directory
  • Microsoft Entra 组
  • Microsoft 帐户

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