From e6080ad87ea9d570c446dab22ff9b0e9fadb04fc Mon Sep 17 00:00:00 2001 From: TigErJin Date: Mon, 15 Sep 2025 13:39:33 +0900 Subject: [PATCH] convert to gitea --- ADLockUser.exe | Bin 0 -> 45568 bytes AccountUnlocker.ps1 | 217 ++++++++++++++++++++++++++++++++++++++++++++ README.md | 76 ++++++++++++++++ 3 files changed, 293 insertions(+) create mode 100644 ADLockUser.exe create mode 100644 AccountUnlocker.ps1 create mode 100644 README.md diff --git a/ADLockUser.exe b/ADLockUser.exe new file mode 100644 index 0000000000000000000000000000000000000000..4d50200dcc05a719c958f3aaf750213bc912f6c1 GIT binary patch literal 45568 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 literal 0 HcmV?d00001 diff --git a/AccountUnlocker.ps1 b/AccountUnlocker.ps1 new file mode 100644 index 0000000..db25d4c --- /dev/null +++ b/AccountUnlocker.ps1 @@ -0,0 +1,217 @@ +#requires -modules ActiveDirectory +Add-Type -AssemblyName PresentationFramework, PresentationCore, WindowsBase, System.Xaml, System.Windows.Forms + +# AD 모듈 로드 +try { Import-Module ActiveDirectory -ErrorAction Stop } catch { Write-Host "[오류] AD 모듈 로드 실패"; exit 1 } + +# AD 함수 정의 +function Get-LockedADAccounts { + try { + $pdc = (Get-ADDomain).PDCEmulator + $adAccounts = @(Search-ADAccount -LockedOut -Server $pdc | Get-ADUser -Properties Name, SamAccountName, LockedOut, LastLogonDate, BadPwdCount, DisplayName -Server $pdc) + $list = @() + foreach ($account in $adAccounts) { + $lastLogon = if ($account.LastLogonDate -and $account.LastLogonDate.Year -ne 1601) { $account.LastLogonDate } else { $null } + $list += [PSCustomObject]@{ + Name = if ([string]::IsNullOrWhiteSpace($account.DisplayName)) { $account.Name } else { $account.DisplayName } + SamAccountName = $account.SamAccountName + LockedOut = $account.LockedOut + LastLogonDate = $lastLogon + BadPwdCount = $account.BadPwdCount + } + } + return ,$list + } catch { Write-Log "AD 조회 오류: $($_.Exception.Message)" "Red"; return $null } +} + +function Unlock-ADUserAccount { param([string]$SamAccountName) + try { + $pdc = (Get-ADDomain).PDCEmulator + Unlock-ADAccount -Identity $SamAccountName -Server $pdc + return $true + } catch { Write-Log "잠금 해제 실패: $SamAccountName - $($_.Exception.Message)" "Red"; return $false } +} + +function Get-ADLockoutEvent { param([string]$SamAccountName) + $dcs = (Get-ADDomainController -Filter *).Name + $latest = $null + foreach ($dc in $dcs) { + try { + $filter = @{ LogName = 'Security'; ID = 4740; StartTime = (Get-Date).AddDays(-1) } + $event = Get-WinEvent -ComputerName $dc -FilterHashtable $filter -ErrorAction SilentlyContinue | + Where-Object { $_.Properties[0].Value -eq $SamAccountName } | + Sort-Object TimeCreated -Descending | Select-Object -First 1 + if ($event -and ($null -eq $latest -or $event.TimeCreated -gt $latest.TimeCreated)) { $latest = $event } + } catch {} + } + if (-not $latest) { return $null } + + $lockoutTime = $latest.TimeCreated + $sourceDC = $latest.MachineName + $caller = $latest.Properties[3].Value + + if ([string]::IsNullOrWhiteSpace($caller) -or $caller -eq 'S-1-5-18' -or $caller -eq $sourceDC) { + try { + $filter4625 = @{ LogName='Security'; ID=4625; StartTime=$lockoutTime.AddMinutes(-5); EndTime=$lockoutTime } + $fail = Get-WinEvent -ComputerName $sourceDC -FilterHashtable $filter4625 -ErrorAction SilentlyContinue | + Where-Object { ($_.Properties[5].Value -like "*$SamAccountName*") -and ($_.Properties[10].Value -eq '3' -or $_.Properties[10].Value -eq '10') } | + Sort-Object TimeCreated -Descending | Select-Object -First 1 + if ($fail) { + $ws = $fail.Properties[13].Value + $ip = $fail.Properties[19].Value + $caller = if ($ws -and $ws -ne '-') { "$ws (IP: $ip)" } else { "IP: $ip" } + } else { $caller = "$sourceDC (자체 발생 - 4625 없음)" } + } catch {} + } + + return [PSCustomObject]@{ TimeCreated=$lockoutTime; CallerComputer=$caller; DC=$sourceDC } +} + +# 로그 출력 +function Write-Log { param([string]$Message,[string]$Color="White") + try { $mainForm.Dispatcher.Invoke({$para=New-Object Windows.Documents.Paragraph;$run=New-Object Windows.Documents.Run($Message);$run.Foreground=(New-Object Windows.Media.BrushConverter).ConvertFromString($Color);$para.Inlines.Add($run);$LogBox.Document.Blocks.Add($para);$LogBox.ScrollToEnd()}) | Out-Null } catch { Write-Host $Message } +} + +# XAML GUI 정의 (Dark, DataGrid, 버튼, 로그) +[xml]$xaml=@" + + + + + + + + + + + + + + + +