User Tools

Site Tools


Sidebar

Me
Здравствуйте!

Меня зовут Михаил Усик!
Я системный администратор
и наполняю эту wiki,
решая разнообразные IT-задачки.

Я всегда готов помочь Вам
наладить IT-инфраструктуру
за скромное вознаграждение!

mike@autosys.tk
+7 (977) 887-96-23

ms_windows_ms_sql:remote_ad_expired_password_reset

Проблема

Просрочился пароль. Залогиниться не удается. Доступа к консоли компа нет - только удаленный доступ в сеть.
Как удаленно сбросить просроченный пароль от учетки Active Directory, про условии, что она не залочена, старый пароль известен и есть доступ в сеть, пусть даже под учеткой с меньшими привилегиями?

Решение

Можно применить скрипт Powershell:

    function Set-PasswordRemotely {
        [CmdletBinding()]
        param(
            [Parameter(Mandatory = $true)][string] $UserName,
            [Parameter(Mandatory = $true)][string] $OldPassword,
            [Parameter(Mandatory = $true)][string] $NewPassword,
            [Parameter(Mandatory = $true)][alias('DC', 'Server', 'ComputerName')][string] $DomainController
        )
        $DllImport = '
    [DllImport("netapi32.dll", CharSet = CharSet.Unicode)]
    public static extern bool NetUserChangePassword(string domain, string username, string oldpassword, string newpassword);
    '
        $NetApi32 = Add-Type -MemberDefinition $DllImport -Name 'NetApi32' -Namespace 'Win32' -PassThru
        if ($result = $NetApi32::NetUserChangePassword($DomainController, $UserName, $OldPassword, $NewPassword)) {
            Write-Output -InputObject 'Password change failed. Please try again.'
        } else {
            Write-Output -InputObject 'Password change succeeded.'
        }
    }

    Set-PasswordRemotely 'username' 'OlD_Pa$$W0Rd' 'NeW_P@$$W0rD' 'domain_controller.domain.local' 

Discussion

Enter your comment. Wiki syntax is allowed:
D᠎ U K V D
 
ms_windows_ms_sql/remote_ad_expired_password_reset.txt · Last modified: 2019/09/02 07:09 by admin