Сброс пароля компьютера powershell
The Set-LocalUser cmdlet modifies a local user account. This cmdlet can reset the password of a local user account.
The Microsoft.PowerShell.LocalAccounts module is not available in 32-bit PowerShell on a 64-bit system.
Description
The Reset-ComputerMachinePassword cmdlet changes the computer account password that the computers use to authenticate to the domain controllers in the domain. You can use it to reset the password of the local computer.
Examples
Parameters
Indicates whether the user must change the password the next time they sign in.
Type: | Boolean |
Position: | Named |
Default value: | None |
Accept pipeline input: | True |
Accept wildcard characters: | False |
Type: | Boolean |
Position: | Named |
Default value: | None |
Accept pipeline input: | True |
Accept wildcard characters: | False |
Specifies a new password for the user. If the user is set to require a strong password, then all of the following rules must be met:
If you do not specify a password, the cmdlet generates a random password for the user.
Type: | String |
Position: | Named |
Default value: | None |
Accept pipeline input: | True |
Accept wildcard characters: | False |
Specifies the unique ID of the user for which to set the password.
Type: | Guid |
Position: | Named |
Default value: | None |
Accept pipeline input: | True |
Accept wildcard characters: | False |
Specifies the unique ID of the tenant on which to perform the operation. The default value is the tenant of the current user. This parameter applies only to partner users.
Type: | Guid |
Position: | Named |
Default value: | None |
Accept pipeline input: | True |
Accept wildcard characters: | False |
Specifies the user principal name of the user for which to set the password.
13.05.2013
itpro
PowerShell
комментариев 10
В общем-то причина появления такой ошибки известна. Все компьютеры в домене Windows имеют свой собственный пароль и по умолчанию должны менять его каждые 30 дней. Однако если по какой либо причине эти пароли не совпадают, то компьютер не может пройти аутентификации в домене (установить доверительные отношения и безопасный канал).
Такое рассогласование может произойти в случае, если компьютер был восстановлен из резервной копии, созданной раньше момента последней смены пароля компьютера в домене (особенно часто это случается при восстановлении виртуальной машины из снапшота), или же произошла принудительная смена пароля в домене, а на компьютер эти изменения по какой-либо причине не попали (например, была сброшена или перезатерта учетная запись ПК).
В принципе, избежать такую ситуации можно, запретив смену пароля в в домене групповой политике (например, только для виртуальных машин), но, естественно это небезопасно и делать это обычно не рекомендуется.
В таких случаях, системный администратор обычно просто заново включал вылетевший компьютер в домен. Но для этого компьютер нужно перезагружать. Мне захотелось найти альтернативу такому решению, и как оказалось, оно существует. Для этого можно воспользоваться Powershell.
- Откройте консоль PowerShell
- Введите команду
Вот так быстро и просто мы сбросили пароль учетной записи компьютера в домене без перезагрузки компьютера. Указанная методика была проверена на Windows 8 и Windows 7.
Предыдущая статья Следующая статья
Настройка NIC Teaming в Windows Server 2019/2016 и Windows 10
Как включить и настроить удаленный рабочий стол (RDP) в Windows?
Send-MailMessage: отправка почты из PowerShell
Как включить и настроить WinRM (Windows Remote Management) с помощью GPO?
Чтобы сбросить и синхронизировать пароль компьютера в домене, воспользуемся командой
С такой командой он использует учетную запись локального пользователя, под которым я смог зайти, т.е. локальный админ, который соответственно не имеет прав присоединения к домену. Дополнительное окошко у меня не вышло в этом случае. Я чуть поправил команду и все получилось.
а никак не заотело работать
ругается на само слово Credential
Какая версия ОС и Powershell? Насколько я помню параметр -Credential появился в Poweshell 3.0 (в 2.0 его не было)
Windows 7 Professional (с последними обновлениями)
C:\Windows>ver
Microsoft Windows [Version 6.1.7601]
PS C:\Users\user> $host.version
Major Minor Build Revision
—— —— —— ———
2 0 -1 -1
Просто в статье нигде не указано, что работает только с Windows 2008r2 или старше. Вот и попробовал на Windows 7. Да и не часто сервера из доменов вылетают 🙂
В вашем случае будет достаточно обновить версию PoSh.
на всех компьютерах компании? Windows Update не предлагает установить обновление для PSH.
В Windows Server 2008 R2 у меня получилось восстановить доверительные отношения сервера с доменом после восстановления ВМ из бэкапа такой командой:
netdom resetpwd /s:x.x.x.x /ud:domain\User /pd:*
x.x.x.x — адрес DC
domain\User — учетка с правами на объект компьютера в AD
Рубрики сайта
Последние статьи
Примеры
Example 2: Reset the password for the local computer by using a specified domain controller
This command resets the computer password of the local computer by using the DC01 domain controller. It uses the Credential parameter to specify a user account that has permission to reset a computer password in the domain.
Parameters
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.
Type: | DateTime |
Position: | Named |
Default value: | None |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Indicates that the account does not expire.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Prompts you for confirmation before running the cmdlet.
Type: | SwitchParameter |
Aliases: | cf |
Position: | Named |
Default value: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Specifies a comment for the user account. The maximum length is 48 characters.
Type: | String |
Position: | Named |
Default value: | None |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Specifies the full name for the user account. The full name differs from the user name of the user account.
Type: | String |
Position: | Named |
Default value: | None |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Specifies the user account that this cmdlet changes. To obtain a user account, use the Get-LocalUser cmdlet.
Specifies the name of the user account that this cmdlet changes.
Type: | String |
Position: | 0 |
Default value: | None |
Accept pipeline input: | True |
Accept wildcard characters: | 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.
Type: | SecureString |
Position: | Named |
Default value: | None |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Indicates whether the password expires.
Type: | Boolean |
Position: | Named |
Default value: | None |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Specifies the security ID (SID) of the user account that this cmdlet changes.
Type: | SecurityIdentifier |
Position: | 0 |
Default value: | None |
Accept pipeline input: | True |
Accept wildcard characters: | False |
Indicates that the user can change the password on the user account.
Type: | Boolean |
Position: | Named |
Default value: | None |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Shows what would happen if the cmdlet runs. The cmdlet is not run.
Type: | SwitchParameter |
Aliases: | wi |
Position: | Named |
Default value: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Описание
Командлет Reset-ComputerMachinePassword изменяет пароль учетной записи компьютера, используемый компьютерами для проверки подлинности на контроллерах домена в домене. Этот командлет можно использовать для сброса пароля локального компьютера.
Пример 1. Сброс пароля для локального компьютера
Эта команда сбрасывает пароль компьютера для локального компьютера. Команда выполняется с использованием учетных данных текущего пользователя.
Parameters
Prompts you for confirmation before running the cmdlet.
Type: | SwitchParameter |
Aliases: | cf |
Position: | Named |
Default value: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Specifies a user account that has permission to perform this action. The default is the current user.
Type a user name, such as User01 or Domain01\User01, or enter a PSCredential object, such as one generated by the Get-Credential cmdlet. If you type a user name, this cmdlet prompts you for a password.
This parameter was introduced in Windows PowerShell 3.0.
Type: | PSCredential |
Position: | Named |
Default value: | None |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Specifies the name of a domain controller to use when this cmdlet sets the computer account password.
This parameter is optional. If you omit this parameter, a domain controller is chosen to service the command.
Сбрасывает пароль учетной записи компьютера для компьютера.
Пример 3. Сброс пароля на удаленном компьютере
Эта команда использует командлет Invoke-Command для выполнения Reset-ComputerMachinePassword команды на удаленном компьютере Server01.
Дополнительные сведения о удаленных командах в Windows PowerShell см. в about_Remote и Invoke-Command .
Пример 2. Сброс пароля для локального компьютера с помощью указанного контроллера домена
Эта команда сбрасывает пароль компьютера локального компьютера с помощью контроллера домена DC01. Он использует параметр Credential для указания учетной записи пользователя, которая имеет разрешение на сброс пароля компьютера в домене.
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:
Azure Active Directory group
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.
Resets the machine account password for the computer.
Syntax
Outputs
None
This cmdlet does not generate any output.
Example 2: Reset a password
Examples
Example 1: Change a description of a user account
This command changes the description of a user account named Admin07.
Example 1: Reset the password for the local computer
This command resets the computer password for the local computer. The command runs with the credentials of the current user.
Examples
Параметры
Запрос подтверждения перед выполнением командлета.
Type: | SwitchParameter |
Aliases: | cf |
Position: | Named |
Default value: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Указывает учетную запись пользователя с разрешением на выполнение этого действия. По умолчанию используется текущий пользователь.
Введите имя пользователя, например User01 или Domain01\User01, или введите объект PSCredential , например объект, созданный командлетом Get-Credential . При вводе имени пользователя этот командлет запрашивает пароль.
Этот параметр впервые появился в Windows PowerShell 3.0.
Type: | PSCredential |
Position: | Named |
Default value: | None |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Указывает имя контроллера домена, используемого при установке этого командлета пароля учетной записи компьютера.
Это необязательный параметр. Если он не указан, команда выполняется текущим контроллером домена.
Type: | String |
Position: | Named |
Default value: | None |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Показывает, что произойдет при запуске командлета. Командлет не выполняется.
The Set-MsolUserPassword cmdlet resets the password of a user. This cmdlet can only be used for users with standard identities.
Example 2: Change the password on an account
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 .
Inputs
System.Management.Automation.SecurityAccountsManager.LocalUser, System.String, System.Security.Principal.SecurityIdentifier
You can pipe a local user, a string, or a SID to this cmdlet.
Example 3: Reset the password on a remote computer
This command uses the Invoke-Command cmdlet to run a Reset-ComputerMachinePassword command on the Server01 remote computer.
For more information about remote commands in Windows PowerShell, see about_Remote and Invoke-Command .
Синтаксис
Example 1: Reset a password with a random password
Читайте также: