利用 secedit.exe 配置本地审核策略

所属分类: 脚本专栏 / DOS/BAT 阅读数: 713
收藏 0 赞 0 分享
代码没什么技术含量,图形化操作转换为命令行而已。

效果图:



代码(samtool.bat):

复制代码 代码如下:

@echo off
if {%1} == {} goto :help
if {%2} == {} goto :help

if exist SAMTool.sdb erase SAMTool.sdb /q
if exist SAMTool.inf erase SAMTool.inf /q
if exist SAMTool.log erase SAMTool.log /q

if {%1} == {-b} secedit /export /cfg %2 /log SAMTool.log /quiet

if {%1} == {-r} secedit /configure /db SAMTool.sdb /cfg %2 /log SAMTool.log /quiet

if {%1} == {-o} (
 if {%4} == {}       goto :help
 if not {%3} == {-p} goto :help

 echo %4 | findstr "[0-3]" >nul || goto :help

 rem pushd %windir%\system32\
 echo.[version]       >>SAMTool.inf
 echo.signature="$CHICAGO$"    >>SAMTool.inf
 echo.[Event Audit]      >>SAMTool.inf

 echo.%2 | findstr "D" >nul && echo.AuditDSAccess=%4   >>SAMTool.inf
 echo.%2 | findstr "E" >nul && echo.AuditLogonEvents=%4  >>SAMTool.inf
 echo.%2 | findstr "S" >nul && echo.AuditSystemEvents=%4  >>SAMTool.inf
 echo.%2 | findstr "O" >nul && echo.AuditObjectAccess=%4  >>SAMTool.inf
 echo.%2 | findstr "U" >nul && echo.AuditPrivilegeUse=%4  >>SAMTool.inf
 echo.%2 | findstr "C" >nul && echo.AuditPolicyChange=%4  >>SAMTool.inf
 echo.%2 | findstr "L" >nul && echo.AuditAccountLogon=%4  >>SAMTool.inf
 echo.%2 | findstr "M" >nul && echo.AuditAccountManage=%4  >>SAMTool.inf
 echo.%2 | findstr "P" >nul && echo.AuditProcessTracking=%4 >>SAMTool.inf

 if {%2} == {A} (
  echo.AuditDSAccess=%4     >>SAMTool.inf
  echo.AuditLogonEvents=%4    >>SAMTool.inf
  echo.AuditSystemEvents=%4    >>SAMTool.inf
  echo.AuditObjectAccess=%4    >>SAMTool.inf
  echo.AuditPrivilegeUse=%4    >>SAMTool.inf
  echo.AuditPolicyChange=%4    >>SAMTool.inf
  echo.AuditAccountLogon=%4    >>SAMTool.inf
  echo.AuditAccountManage=%4    >>SAMTool.inf
  echo.AuditProcessTracking=%4   >>SAMTool.inf
 )
 secedit /configure /db SAMTool.sdb /cfg SAMTool.inf /log SAMTool.log /quiet
)

if {%3} == {-v} type SAMTool.log
if {%5} == {-v} type SAMTool.log

if exist SAMTool.sdb erase SAMTool.sdb /q
if exist SAMTool.inf erase SAMTool.inf /q
if exist SAMTool.log erase SAMTool.log /q

exit /b

:help
cls
echo.System audit strategy manage tool. (C) Copyright 2013 enun-net.
echo.
echo.Usage: SAMTool -b^|r [drive:][path][filename] -o options -p parameters -v
echo.        
echo.         -b Backup the current configuration, Specifies an INF file.
echo.         -r From an INF file recovery configuration.
echo.         -o options^(Support multiple^):
echo.     D: Directory Service Access
echo.     E: Logon Events
echo.     S: System Events
echo.     O: Object Access
echo.     U: Privilege Use
echo.     C: Policy Change
echo.     L: Account Logon
echo.     M: Account Manage
echo.     P: Process Tracking
echo.     A: All audit
echo.         -p parameters:
echo.     0: Don't audit
echo.     1: Only audit successful
echo.     2: Only audit failure
echo.     3: All audit ^(successful and failure^)
echo.         -v Detailed results.
echo.
echo.Example: SAMTool -o EC -p 0 -v
echo.         SAMTool -b c:\myconfig.inf -v
exit /b



例如:SAMTool -o EC -p 1 -v ,配置审核策略为:审核策略更改(成功),审核登录事件(成功),并显示较详细的输出。

原文:https://www.enun.net/?p=2339

更多精彩内容其他人还在看

for 语句从入门到精通

在批处理中,for是最为强大的命令语句,它的出现,使得解析文本内容、遍历文件路径、数值递增/递减等操作成为可能
收藏 0 赞 0 分享

dos 目录跳转 cd

当我们需要处理不同路径下的文件的时候,很可能需要切换目录,这个时候,可以考虑使用目录跳转命令cd。
收藏 0 赞 0 分享

tree 以树形格式罗列文件

tree ,在英语中的基本含义是“树”,在cmd中,tree命令的功能是以树形格式罗列文件。
收藏 0 赞 0 分享

dos 内容重定向

当我们在cmd窗口中查询某条命令的帮助信息的时候,帮助信息是显示在命令行窗口中的,命令行窗口关闭后,这些帮助信息就看不到了,如果下次还想看,又得在命令行窗口中输入查询命令,比较繁琐。
收藏 0 赞 0 分享

执行批处理bat程序中的条件处理

一直用bat实现部分功能,对于我们仍需要控制是否满意我们的要求,下面是if帮助文档,方便查询
收藏 0 赞 0 分享

不错的批处理脚本 第一部分

非常不错的批处理脚本代码,功能比较多,用到了,很多的批处理机器
收藏 0 赞 0 分享

不错的批处理脚本实例代码 第二部分

不错的批处脚本实例代码,用到了批处理中的很多技巧与知识点,不懂得可以逐一查找相关资料
收藏 0 赞 0 分享

开机更新桌面主题的批处理代码

更新桌面主题的批处理代码
收藏 0 赞 0 分享

非常好的for 教程, 当时我就是看这个学习for 的第1/2页

批处理for命令详解 FOR这条命令基本上都被用来处理文本,但还有其他一些好用的功能! 看看他的基本格式(这里我引用的是批处理中的格式,直接在命令行只需要一个%号)
收藏 0 赞 0 分享

批处理的"循环"效果脚本

曾经在回答一个问题时 无意中想到的方法 今天又看到类似的问题 个人认为是非常实用的 于是 想把这种方法推荐给大家
收藏 0 赞 0 分享
查看更多