사용자들이 조직에서 암호를 잊어버리나요? 절대 아니겠죠! Active Directory 사용자가 계정을 잠겼나요? 그럴 리가 없어요! 파워쉘을 사용하여 Active Directory에서 잠긴 사용자를 찾을 수 있는 방법을 살펴보겠습니다!
Active Directory에서의 암호 재설정 호출과 계정 잠금 해제로 고생하지 마세요. Specops uReset의 무료 평가판을 받아보세요.
네트워크가 가능한 많은 도메인 사용자 계정으로 인증을 시도하는 악성 코드에 감염된 적이 있나요? 그럴 리는 없겠지만, 몇 번 일어난 적이 있습니다. 사용자와 웜은 하나 이상의 AD 계정이 잠길 수 있는 이유 중 두 가지일 뿐입니다. 암호 정책에 따라 잠금이 매일 발생할 수도 있고 가끔 발생할 수도 있습니다.
이유나 상황에 상관없이 계정 잠금은 사용자에게 영향을 미칩니다. 사용자들은 거의 모든 것에 Active Directory 도메인 계정을 의존하기 때문에 계정이 잠기면 즉시 알아차립니다. 도움 데스크에서 계정을 다시 활성화할 수 있지만, 그럼에도 또 다시 일어날 경우에는 어떻게 될까요? … 그리고 또 다시. … 그리고 또 다시. 이 문제의 근본 원인을 찾는 것이 중요합니다.
하나의 방법은 PowerShell과 ActiveDirectory 모듈을 사용하는 것입니다. Search-AdAccount
cmdlet을 Active Directory 모듈 내부에서 사용하여 도메인 전체에서 현재 잠긴 계정을 쉽게 추적할 수 있습니다.
관련: Active Directory PowerShell 모듈 설치 방법
PowerShell을 사용하여 Active Directory에서 잠긴 사용자 찾기
잠긴 계정을 찾으려면 LockedOut
매개변수를 사용하여 Search-AdAccount
명령을 실행할 수 있습니다. 이렇게 하면 해당 권한을 볼 수 있는 경우 현재 잠긴 모든 사용자가 반환됩니다.
이 명령은 좋지만 계속해서 잠긴 계정이 있고 이것이 어떤 시스템에서 발생한 것인지 찾아야 하는 경우는 어떻게 할까요? 이것은 네트워크 어딘가에 악성 코드 감염이 있는 경우나 원격 데스크톱 세션에서 로그아웃을 잊은 관리자가 있는 경우와 같은 일반적인 작업입니다. 그런 적은 없었죠, 맞나요?
Active Directory 잠금 해제의 원본을 찾으려면 먼저 올바른 도메인 컨트롤러를 조회하는지 확인해야 합니다. 이 경우에는 PDC 역할 에뮬레이터 역할을 하는 도메인 컨트롤러입니다.
PDCe 역할 보유자 찾기
모든 암호 인증은 PDCe 역할을 보유한이 도메인 컨트롤러에 도달하므로 항상 확인하는 최상의 위치입니다. PDCe 역할을 가진 도메인 컨트롤러를 찾으려면 Get-ADDomain
cmdlet에서 반환된 PDCEmulator
속성을 확인할 수 있습니다.
잠금 해제 이벤트 로그 검색
PDCe 역할을 보유한 DC를 확인한 후 이 DC의 보안 이벤트 로그(보안 로그)에서 이벤트 ID 4740을 쿼리해야 합니다. 이벤트 ID 4740은 계정이 잠겼을 때 등록되는 이벤트입니다. 이 작업은 Get-WinEvent
cmdlet를 사용하여 수행합니다.
PowerShell을 사용하여 Active Directory에서 잠긴 사용자 찾기까지 얼마 남지 않았습니다!
사용자 이름 및 위치 구문 분석
이렇게하면 모든 잠금 해제 이벤트가 반환되지만 바로 사용자 이름 및 잠금 해제를 수행한 컴퓨터가 표시되지 않습니다. 사용자 이름을 찾으려면 Get-WinEvent
가 반환하는 Properties
라는 속성을 조금 더 자세히 살펴봐야 합니다.
해시 테이블 필터를 코드 랩을 방지하고 더 중요한 것은 Select-Object
의 계산된 속성을 사용하여 Properties
속성에서 사용자 이름 및 컴퓨터 이름을 추출했습니다. 이러한 이벤트 각각에서 잠금이 해제된 사용자 이름은 항상 Properties
배열의 첫 번째 요소이고 두 번째 요소는 항상 잠금이 수행된 컴퓨터 이름입니다.
AD 계정 잠금 해제에 PowerShell 활용
이제 잠긴 AD 사용자를 찾았으니, 계정을 어떻게 잠금 해제할지 궁금하십니까? PowerShell
의 Unlock-ADAccount
명령은 고객을 빠르게 작업상태로 돌려주는 데 도움이 됩니다. 아래와 같이 PowerShell을 사용하여 AD 계정을 잠금 해제할 수 있습니다. 이 명령은 ActiveDirectory
모듈을 로드한 후에 Windows PowerShell 및 PowerShell 7에서 모두 작동합니다.
아마도 한꺼번에 모든 잠긴 사용자를 해제하려고 하는 것이라면, Search-ADAccount
에 -LockedOut
매개변수를 사용하고 결과를 Unlock-ADAccount
명령에 파이프하여 아래와 같이 작업할 수 있습니다.
서비스 데스크 호출을 줄이고 VPN에서 벗어난 원격 사용자의 캐시 자격 증명을 업데이트하십시오. 자가 서비스 암호 재설정 솔루션으로 Specops uReset의 데모를 받으세요!
요약

지금쯤이면 도메인에서 현재 잠겨 있는 모든 계정을 빠르게 확인할 수 있고 모든 계정 잠금 기록을 볼 수 있어야 합니다. 이제 조에게 그 RDP 세션을 열어두고 떠나는 것에 대해 엄격하게 이야기할 시간입니다…
Source:
https://adamtheautomator.com/find-locked-out-users-in-active-directory-powershell/