PowerShell을 사용하여 Active Directory 계정 잠금을 해결하는 방법
kras99-stock.adobe.com
사고가 발생할 수 있지만 로그인 시도에 실패하면 IT 담당자가 구조하러 올 때까지 업무용 노트북을 사용하지 못하게 될 수 있습니다.
많은 조직에서는 설정된 로그온 시도 횟수에 실패하면 사용자 계정을 잠급니다. 목표는 사용자의 비밀번호를 찾기 위해 무차별 공격을 시도하는 해커의 공격을 방지하는 것입니다. 그러나 모든 잠금이 악의적인 소스에서 발생하거나 비밀번호를 잊어버린 사용자에 의해 발생하는 것은 아닙니다.
애플리케이션이 때때로 계정 잠금으로 이어질 수 있습니다. 애플리케이션은 작동하는 데 필요한 권한을 얻기 위해 서비스 계정에 의존하는 경우가 많습니다. 그러나 서비스 계정의 비밀번호가 변경되고 애플리케이션이 업데이트된 비밀번호를 가져오지 못하는 경우 서비스 계정이 잠길 수 있습니다.
중복된 로그온 정보도 계정 잠금의 또 다른 일반적인 원인입니다. 기업 사용자는 공통 사용자 이름에 연결된 12개 이상의 자격 증명 세트를 보유할 수 있습니다. 이러한 모든 계정을 추적하려면 약간의 노력이 필요합니다. 누군가가 실수로 잘못된 자격 증명 세트를 여러 번 사용하여 계정이 잠기는 것을 예측하는 것은 어렵지 않습니다.
사용자가 직장 위치를 변경할 때 계정 잠금이 발생할 수도 있습니다. 일반적인 시나리오는 사용자가 사무실의 도메인 가입 Windows 데스크톱 작업에서 현재 네트워크에 연결되어 있지 않은 집의 다른 Windows 컴퓨터로 작업을 전환하는 경우입니다. 노트북이 오프라인이기 때문에 비밀번호 변경이 기록되지 않았습니다. 사용자는 이전 비밀번호로 로그인해야 합니다. 사용자가 노트북을 사무실로 가져와 네트워크에 액세스하려고 시도하면 최종 사용자의 혼란과 함께 비밀번호 불일치로 인해 계정이 잠길 수 있습니다.
계정 잠금이 문제가 되는 주된 이유 중 하나는 자동으로 발생하는 경향이 있다는 것입니다. 관리자는 사용자가 전화를 걸거나 Windows 이벤트 로그에 계정 잠금 이벤트가 표시되지 않는 한 계정 잠금이 발생했다는 사실조차 알지 못할 수도 있습니다. 그러나 PowerShell 자동화를 사용하면 계정 잠금 이벤트를 더 효과적으로 처리할 수 있습니다.
이러한 잠금 상황에 앞서기 위한 한 가지 옵션은 PowerShell을 사용하여 다음 명령을 사용하여 이벤트 로그에서 잠금을 확인하는 것입니다.
그만큼Get-Win이벤트 cmdlet은 이벤트 로그를 쿼리합니다. 그만큼필터해시테이블 부분은 로그 내에서 검색할 항목을 지정합니다. 이 경우,로그 이름매개변수는Get-Win이벤트 Windows 보안 로그를 검색하는 cmdlet입니다. 또한 ID 매개 변수는 계정 잠금 이벤트를 나타내는 이벤트 ID 4740의 인스턴스를 찾습니다.
그런 다음 결과는선택 개체 이벤트 생성 시간과 이벤트 메시지를 표시하는 cmdlet입니다. 일반적으로 PowerShell은 계정 잠금 메시지를 자르지만형식-테이블cmdlet과 함께포장하다매개 변수를 사용하면 PowerShell이 모든 관련 정보를 표시하도록 합니다.
프로덕션 환경에서 이 Active Directory 계정 잠금 쿼리는 이벤트가 발생한 시점에 관계없이 이벤트 ID 4740의 모든 인스턴스에 대해 보안 이벤트 로그를 확인하기 때문에 과도한 수의 결과를 반환할 수 있습니다. 이 문제를 해결하는 가장 좋은 방법은 다음을 사용하는 것입니다.시작 시간 필터. 예를 들어 다음 명령은 지난 24시간 동안 발생한 이벤트를 살펴봅니다.
첫 번째 명령은 다음과 같은 변수를 생성합니다.$Start다음을 통해 이전 24시간으로 설정합니다.추가일(-1) . 지난 주 동안의 로그를 확인하려면 다음을 사용하세요.추가일(-7).
두 번째 명령은 이전 코드와 동일하지만시작시간=$Start 필터 해시 테이블에 추가됩니다. 이는 PowerShell이 파일의 날짜 및 타임스탬프보다 오래된 결과를 무시하도록 지시합니다.$Start변하기 쉬운.
PowerShell이 Active Directory 계정 잠금을 지원하는 또 다른 방법은 다음을 사용하는 것입니다.Get-ADUser 계정의 잠금 상태를 확인하는 cmdlet입니다. Active Directory 사용자 계정과 관련된 속성을 검색하려면 다음 명령을 사용하십시오.