找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 14253|回复: 0

[转载代码] [PowerShell每日技巧]通过安全日志查看错误的登陆尝试(20140113)

[复制链接]
发表于 2014-1-17 13:27:36 | 显示全部楼层 |阅读模式
Whenever someone logs on with invalid credentials, there will be a log entry in the security log.

Here is a function that can read these events from the security log (Admin privileges needed). It will then list all the invalid logons found in the log:
  1. # requires Admin privileges!
  2. function Get-LogonFailure
  3. {
  4.       param($ComputerName)
  5.       try
  6.       {
  7.           Get-EventLog -LogName security -EntryType FailureAudit -InstanceId 4625 -ErrorAction Stop @PSBoundParameters |
  8.                   ForEach-Object {
  9.                     $domain, $user = $_.ReplacementStrings[5,6]
  10.                     $time = $_.TimeGenerated
  11.                     "Logon Failure: $domain\$user at $time"
  12.                 }
  13.       }
  14.       catch
  15.       {
  16.             if ($_.CategoryInfo.Category -eq 'ObjectNotFound')
  17.             {
  18.                   Write-Host "No logon failures found." -ForegroundColor Green
  19.             }
  20.             else
  21.             {
  22.                   Write-Warning "Error occured: $_"
  23.             }

  24.       }

  25. }
复制代码
Note that this function can work remotely, too. Use the -ComputerName parameter to query a remote system. The remote system needs the running RemoteRegistry service, and you need local administrator privileges on the target machine.

http://powershell.com/cs/blogs/tips/archive/2014/01/13/finding-logon-failures.aspx
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-16 22:05 , Processed in 0.016213 second(s), 8 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表