Set-LocalUser [-InputObject*] <LocalUser> [-AccountExpires <DateTime>] [-AccountNeverExpires] [-Confirm][-Description <String>] [-FullName <String>] [-Password <SecureString>] [-PasswordNeverExpires <Boolean>][-UserMayChangePassword <Boolean>] [-WhatIf] [<CommonParameters>]
Set-LocalUser [-Name*] <String> [-AccountExpires <DateTime>] [-AccountNeverExpires] [-Confirm] [-Description<String>] [-FullName <String>] [-Password <SecureString>] [-PasswordNeverExpires <Boolean>][-UserMayChangePassword <Boolean>] [-WhatIf] [<CommonParameters>]
Set-LocalUser [-SID*] <SecurityIdentifier> [-AccountExpires <DateTime>] [-AccountNeverExpires] [-Confirm][-Description <String>] [-FullName <String>] [-Password <SecureString>] [-PasswordNeverExpires <Boolean>][-UserMayChangePassword <Boolean>] [-WhatIf] [<CommonParameters>]
The Set-LocalUser cmdlet modifies a local user account. This cmdlet can reset the password of a local user account.
Parameters
-AccountExpires <DateTime>
- Default value is None
- Accepts pipeline input False
Specifies when the user account expires. To obtain a DateTime object, use the Get-Date cmdlet.
If you do not want the account to expire, specify the AccountNeverExpires parameter.
-AccountNeverExpires [<SwitchParameter>]
- Default value is False
- Accepts pipeline input False
Indicates that the account does not expire.
-Confirm [<SwitchParameter>]
- Default value is False
- Accepts pipeline input False
Prompts you for confirmation before running the cmdlet.
-Description <String>
- Default value is None
- Accepts pipeline input False
Specifies a comment for the user account. The maximum length is 48 characters.
-FullName <String>
- Default value is None
- Accepts pipeline input False
Specifies the full name for the user account. The full name differs from the user name of the user account.
-InputObject <LocalUser>
- This value is required
- Default value is None
- Accepts pipeline input ByPropertyName
Specifies the user account that this cmdlet changes. To obtain a user account, use the Get-LocalUser cmdlet.
-Name <String>
- This value is required
- Default value is None
- Accepts pipeline input ByPropertyName
Specifies the name of the user account that this cmdlet changes.
-Password <SecureString>
- Default value is None
- Accepts pipeline input False
Specifies a password for the user account. If the user account is connected to a Microsoft account, do not set a password.
You can use `Read-Host -GetCredential`, Get-Credential, or ConvertTo-SecureString to create a SecureString object for the password.
If you omit the Password and NoPassword parameters, Set-LocalUser prompts you for the user's password.
-PasswordNeverExpires <Boolean>
- Default value is None
- Accepts pipeline input False
Indicates whether the password expires.
-SID <SecurityIdentifier>
- This value is required
- Default value is None
- Accepts pipeline input ByPropertyName
Specifies the security ID (SID) of the user account that this cmdlet changes.
-UserMayChangePassword <Boolean>
- Default value is None
- Accepts pipeline input False
Indicates that the user can change the password on the user account.
-WhatIf [<SwitchParameter>]
- Default value is False
- Accepts pipeline input False
Shows what would happen if the cmdlet runs. The cmdlet is not run.
<CommonParameters>
This cmdlet supports the common parameters: Verbose, Debug,ErrorAction, ErrorVariable, WarningAction, WarningVariable,OutBuffer, PipelineVariable, and OutVariable.
Inputs
System.Management.Automation.SecurityAccountsManager.LocalUser, System.String,Outputs
NoneExamples
- Change a description of a user account:
PS C:\> Set-LocalUser -Name "Admin07" -Description "Description of this account."
This command changes the description of a user account named Admin07.
- Change the password on an account:
PS C:\> $Password = Read-Host -AsSecureString PS C:\> $UserAccount = Get-LocalUser -Name "User02" PS C:\> $UserAccount | Set-LocalUser -Password $Password
The first command prompts you for a password by using the Read-Host cmdlet. The command stores the password as a secure string in the $Password variable.
The second command gets a user account named User02 by using Get-LocalUser . The command stores the account in the $UserAccount variable.
The third command sets the new password on the user account stored in $UserAccount.
Additional Notes
The PrincipalSource property is a property on LocalUser , LocalGroup , and LocalPrincipal * objects that describes the source of the object. The possible sources are as follows: - Local - Active Directory - Azure Active Directory group - Microsoft Account PrincipalSource is supported only by Windows 10, Windows Server 2016, and later versions of the Windows operating system. For earlier versions, the property is blank.