(注:本文参考以下前辈文章修改而来,源文章连接:http://itadmindev.blogspot.hk/2011/07/powershell-ad-dc-failed-logins-report.html

原脚本只用于收集统计AD,过去一天时内,EventID为4625帐户登录失败的IP、主机名及登录次数。

EventID对应的内容可参考以下内容:http://support.microsoft.com/kb/947226/zh-cn

我现在依需求,修改为需要收集过去一天内,ID为4771:Kerberos预身份验证失败的信息,主要是指AD中认证失败的账号、客户端,并发邮件通知到指邮箱。

1、启用DC的Audit功能

修改GPO,针对DefaultDomainControllerPolicy,启用Auditaccountlogonevents/Auditlogonevents

2、修改powershell执行策略

因为默认PowerShell策略是不能执行未经签名的PS1,当我们直接调用时,会出现如下错误:

可参考说明KB:

http://technet.microsoft.com/zh-CN/library/hh847748.aspx

http://technet.microsoft.com/zh-cn/library/ee176949.aspx

而我们自已修改编辑的PS脚本是未经认证的,所以需要修改策略,方法如下:

1)先查看当前的执行策略:Get-ExecutionPolicy

显示为:Restricted,即只能执行经注册的PS脚本。

2)修改执行策略为Remotesigned:Set-Exectionpolicyremotesigned

然后输入”Y”确认修改。

3)再次查看当前执行策略:Get-ExecutionPolicy,

已显示为:RemoteSigned

3、下载、修改PowerShell代码

附件PS中,请自行修改以下内容:

1)DCName

PS脚本中第25行括号中为你现有DC名,如果有多台,请手动修改为你实际的DC名称,如:DC001,DC002

$DCs=@("dc001",”dc002”)

2)SMTP设置部分

PS脚本中第134-136行修改为发件人、收件人的邮件地址和内部SMTP服务器的主机名或是IP地址:如下:

From="support@sysmicro.cn"

To="johnson@sysmicro.cn"

SmtpServer="mail.sysmicro.cn"

以上PS脚本修改好后,先手动执行,确保能正常后执行,没有错误后,保存为*.ps1文件,以方便随时调用!

4、将PowerShell加入到计划任务中,自动运行。

如果需要设定每天固定时间运行,将前一天认证失败的信息邮件方式通知指定人员,则可以用创建计划任务的方式,指定固定时间运行,具体方法可以参考:

http://blogs.technet.com/b/heyscriptingguy/archive/2012/08/11/weekend-scripter-use-the-windows-task-scheduler-to-run-a-windows-powershell-script.aspx

1)创建计划任

Start\Allprograms\administrativetools\TaskScheduler,在右边选择CreatebasicTask…

2)在创建的任务名称中,输入你相要的名称,如:ADFailedLogonReport,然后下一步:

3)任务运行时间,选择Daily,然后下一步;

4)选择每天运行的时间,依你需求,定义好后,下一步:

5)在Action选项中,选择:StartProgram,然后下一步:

6)在Program/Script,点击Browse,选择刚才第3步中保存的.PS1文件,然后在修改为:Powershell–file”D:\Script\AD_DCs_Failed_Login_Report_4771_51cto.ps1”,然后下一步:

7)在弹出的TaskScheduler中选择“Yes”

8)在Finish中勾选:OpenthepropertiesdialogfortaskwhenIclickfinish,然后点击完成

9)完成后,可以预览任务属性,在General中,选择:Runwhetheruserisloggedonornot,即用户是否登录时,都执行此任务,点击OK后完成退出!

说明:以上以上方法供大家参考,大家可以修改需要的EventID查询你想要的信息!

经在我所在的工作环境中测试,效果不错,如果过去一天中,没有失败的认证,收到的邮件为一个空白的表,如下:

如果过去一天中,有失败的认证,则能显示具体的IP、账号、失败的次数,管理员刚可依此信息对相应IP地址的电脑、账号进行检查,以排除安全隐患!

POWERSHELL 计划任务的创建,收集DC中失败的登录信息并邮件通知的更多相关文章

  1. DedeCMS中实现在顶层banner中显示自定义登录信息

    一.需求描述 dedeCMS自带的模板中有互动中心模块,如下图所示: 由于会员登陆对我来说不是网站的重要模块且默认DedeCMS的会员中心模块的初始化很慢,常会显示“正在载入中,请稍候...”, 所以 ...

  2. .NET跨平台之旅:ASP.NET Core从传统ASP.NET的Cookie中读取用户登录信息

    在解决了asp.net core中访问memcached缓存的问题后,我们开始大踏步地向.net core进军——将更多站点向asp.net core迁移,在迁移涉及获取用户登录信息的站点时,我们遇到 ...

  3. Oracle 中记录用户登录信息

    我们可以使用 Oracle Audit 函数来记录用户登录信息,但是如果开放了 Audit 函数将会使 Oracle 性能下降,甚至导致 Oracle 崩溃.那我们如何才能记录用户登录信息呢?其实我们 ...

  4. yii框架中保存第三方登录信息

    (第三方登录) 创建应用,域名,详情请看:http://www.cnblogs.com/xujn/p/5287157.html 效果图:

  5. 使用PowerShell在Azure China创建Data Warehouse

    微软的Azure Data Warehouse是基于MPP架构的分布式系统: Control Node负责管理系统和接受用户的请求,Compute Node负责计算. 目前在国内Azure Data ...

  6. Jmeter(五) - 从入门到精通 - 创建网络计划实战和创建高级Web测试计划(详解教程)

    1.简介 上一篇中宏哥已经将其的理论知识介绍了一下,这一篇宏哥就带着大家一步一步的把上一篇介绍的理论知识实践一下,然后再说一下如何创建高级web测试计划. 2.网络计划实战 通过上一篇的学习,宏哥将其 ...

  7. 《项目经验》--后台一般处理程序向前台JS文件传递JSON,JS解析JSON,将数据显示在界面--显示在DropDownList 或 显示在动态创建的table中

    http://blog.csdn.net/mazhaojuan/article/details/8599167 先看一下我要实现的功能界面: 这篇文章主要介绍:后台一般处理程序把从数据库查找的数据,转 ...

  8. Eclipse在已创建的project中导入其他文件

    Eclipse在已创建的project中导入其他文件 前两天被同事问到,如何通过不拷贝源文件的方式,在之前已经创建好的project中直接导入其他目录下的文件, 整理了一下,将目前所知道的eclips ...

  9. 使用eclipse创建在myeclipse中运行的web工程

    今天在跟随慕课网学习java时,遇到课程中老师使用Myeclipse,我用的是eclipse,那么就使用eclipse创建在Myeclipse项目 参考: 如何在Eclipse配置Tomcat服务器 ...

随机推荐

  1. VC++环境下单文档SDI与OpenGL多视图分割窗口的实现-类似3DMAX的主界面

    本文主要讲述如何在VC++环境下实现单文档SDI与OpenGL多视图分割窗口,最终的界面类似3DMAX的主界面.首先给出我实现的效果图: 整个实现过程网络上有很多零散的博文,请各位自行搜索,在基于对话 ...

  2. Windows下安装Tensorflow—GPU版本

    https://blog.csdn.net/weixin_39290638/article/details/80045236

  3. Python2.7-sqlite3

    sqlite3模块,SQLite 是用 C 写的轻量级的数据库,sqlite3 模块提供了对数据库的接口,要使用必须首先创建一个 Connection 对象,代表连接至数据库,然后才能继续操作,操作数 ...

  4. 微信小程序开发 [02] 页面注册和基本组件

    1.页面注册 既然我们希望跳转到新的页面,那自然要新建页面相关的文件才行.在开篇已经讲过,一个小程序页面由四个文件组成,假如我们的页面名为welcome,那么这四个文件则是: welcome.js w ...

  5. Iframe和Frame中实现cookie跨域的方法(转载)

    在Iframe和Frame中默认是不支持Cookie跨域的,但通过设置P3P协议相关的响应头可以解决这一问题.关于p3p协议: P3P: Platform for Privacy Preference ...

  6. Cloud Foundry 组件

    原文:https://blog.csdn.net/little_crab_0924/article/details/78022391 Cloud Foundry 组件概述 Cloud Foundry ...

  7. 在Docker中安装.NET Core(使用命令行工具)

    在Docker中安装.NET Core目前共有两种方法:1,使用命令行工具安装2,使用VS2017来安装 本文主要介绍使用命令行工具来安装: 1,安装Docker(如果本机已经有Docker环境,可以 ...

  8. 2017-2018-1 20155202 张旭 嵌入式C语言——时钟提取时分秒

    2017-2018-1 20155202 张旭 嵌入式C语言--时钟提取时分秒 任务要求: 在作业本上完成附图作业,要认真看题目要求. 提交作业截图 作弊本学期成绩清零(有雷同的,不管是给别人传答案, ...

  9. 20155211 Exp4 恶意代码分析

    20155211 Exp4 恶意代码分析 实践目标 1 监控你自己系统的运行状态,看有没有可疑的程序在运行. 2 是分析一个恶意软件,就分析Exp2或Exp3中生成后门软件:分析工具尽量使用原生指令或 ...

  10. Bluedroid协议栈HCI线程分析

    蓝牙进程中有多个线程,其中HCI 线程是负责处理蓝牙主机端和控制器的数据处理和收发的工作. 本篇文章就是分析一下该线程的数据处理流程. 1.跟HCI相关的接口 首先看看hci的相关的接口:在hci_l ...