Active Directory 工具学习笔记(10.9):AdInsight——命令行选项与自动化采集模板

Active Directory 工具学习笔记(10.9):AdInsight------命令行选项与自动化采集模板

Active Directory 工具学习笔记(10.9):AdInsight------命令行选项与自动化采集模板

目标:把 GUI 点点点变成一键批量可复现剧本 。本文汇总 AdInsight 的常见命令行开关(以工具 /? 为准),并给出开箱即用的自动化模板。


适用场景

  • 变更窗口里,预先开抓、到点自动收官并落盘。
  • 大规模联调时,用统一过滤器与字段集输出可计算数据。
  • 突发事件时,脚本一跑,采集→保存→打包→校验→上送全流程闭环。

常见启动参数速览(以你环境中 AdInsight.exe /? 为准)

不同版本参数名可能略有差异,下列为高频能力模型 (对应功能与常见命名)。若你想精准对照,请以你手头版本的 /? 帮助为准对映。

能力 典型开关(示例命名) 作用与要点
接受协议 -accepteula 首次静默接受 EULA,便于无人值守。
立即开始/停止 /start/stop 启动后立刻捕获;脚本尾部调用 /stop 收官。
设定时长 /duration:<mm:ss>/runfor:<seconds> 指定持续时间,到时自动停止并保存。
过滤器 /loadfilter:<path>/savefilter:<path> 复用 GUI 里保存的过滤规则;统一团队视图。
输出格式 `/save:<.session .csv
列集/视图 /view:<path> 载入列顺序、强调色、分组等视图模板。
时间设置 /utc/localtime 统一导出 UTC;口头沟通再换本地时区。
文件切片 /maxsize:<MB>/autosplit 控制大文件体积,滚动切片保存。
采样/性能 `/profiling:<on off>/buffers:`
提示静默 /quiet 无窗口/静默运行(配合计划任务)。

心法:少即是多。预设过滤 + 固定列集 + UTC 时间 + 切片策略,能让协作和复盘成本陡降。


模板一:30 分钟抓取 + 双轨落盘(会话 + TSV)

PowerShell:

powershell 复制代码
$tool   = "C:\Tools\AdInsight\AdInsight.exe"
$outDir = "D:\AdInsight\captures\$(Get-Date -Format yyyyMMdd_HHmmss)"
New-Item $outDir -ItemType Directory -Force | Out-Null

$session = Join-Path $outDir "adinsight.session"
$data    = Join-Path $outDir "adinsight.tsv"
$filter  = "C:\Tools\AdInsight\filters\LoginSlow.json"
$view    = "C:\Tools\AdInsight\views\OpsView.json"

Start-Process -FilePath $tool -ArgumentList @(
  "-accepteula",
  "/start",
  "/duration:00:30:00",
  "/loadfilter:`"$filter`"",
  "/view:`"$view`"",
  "/utc",
  "/maxsize:256",
  "/autosplit",
  "/save:`"$session`"",
  "/save:`"$data`""
) -Wait

# 可选:计算校验和,便于取证留痕
Get-ChildItem $outDir | Get-FileHash -Algorithm SHA256 | `
  Format-Table Path, Hash | Out-String | Set-Content (Join-Path $outDir "sha256sum.txt")

模板二:登录波峰"时间窗"抓包(计划任务)

触发器 :工作日 08:55 启动,抓 20 分钟。
操作 :Program 指向 AdInsight.exe,参数:

复制代码
-accepteula /start /duration:00:20:00 /utc /loadfilter:"C:\Filters\BindAndSearch.json" /save:"D:\AD\Morning.session" /save:"D:\AD\Morning.tsv"

结合"任务计划程序"的按需运行,就能把高峰抓取做成常规体检。


模板三:长时间运行 + 自动切片(滚动留痕)

CMD:

cmd 复制代码
set TOOL=C:\Tools\AdInsight\AdInsight.exe
set OUT=D:\AdInsight\rolling
if not exist "%OUT%" mkdir "%OUT%"

"%TOOL%" -accepteula /start /utc /loadfilter:"C:\Filters\ErrorsOnly.json" ^
  /maxsize:128 /autosplit /save:"%OUT%\rolling.session" /save:"%OUT%\rolling.tsv"

maxsize + autosplit 避免单文件爆炸;配合计划任务定时清理 7 天前切片


模板四:批量采集(多服务器统一收集)

一台"跳板机"远程触发各成员服务器的 AdInsight(建议以域控播放脚本,权限合规且留痕完备)。

powershell 复制代码
$servers = Get-Content .\gc_list.txt   # 每行一个 GC/DC 名称
$tool    = "C:\Tools\AdInsight\AdInsight.exe"
$filter  = "\\share\filters\OpsBaseline.json"
$view    = "\\share\views\TeamView.json"
$baseOut = "\\share\captures\$(Get-Date -Format yyyyMMdd_HHmmss)"

foreach ($s in $servers) {
  Invoke-Command -ComputerName $s -ScriptBlock {
    param($tool,$filter,$view,$baseOut,$server)
    $dir = Join-Path $baseOut $server
    New-Item $dir -ItemType Directory -Force | Out-Null
    Start-Process -FilePath $tool -ArgumentList @(
      "-accepteula","/start","/duration:00:10:00","/utc",
      "/loadfilter:`"$filter`"","/view:`"$view`"",
      "/save:`"$dir\capture.session`"","/save:`"$dir\capture.tsv`""
    ) -Wait
  } -ArgumentList $tool,$filter,$view,$baseOut,$s
}

模板五:事件现场"一条龙"打包上送

PowerShell:

powershell 复制代码
$out = "D:\AdInsight\incident\$(Get-Date -Format yyyyMMdd_HHmmss)"
New-Item $out -ItemType Directory -Force | Out-Null

# 1) 采集
& "C:\Tools\AdInsight\AdInsight.exe" -accepteula /start /duration:00:15:00 /utc `
  /loadfilter:"C:\Filters\Incident.json" `
  /save:"$out\incident.session" /save:"$out\incident.tsv"

# 2) 校验
Get-ChildItem $out | Get-FileHash -Algorithm SHA256 |
  Export-Csv "$out\sha256.csv" -NoTypeInformation -Encoding UTF8

# 3) 打包
Compress-Archive -Path "$out\*" -DestinationPath "$out.zip" -Force

过滤器与视图的团队协作

  • 过滤器(Filter) :把"我们关心什么"固化成文件并版本化(如 Bind/Modify/Search、错误码白名单等)。
  • 视图(View):把"我们怎么看"固化(列顺序、强调色、分组、时间精度)。
  • 共享规则filters/views/ 放统一共享盘,配合 Git 做审计与回滚。

输出与命名规范(可直接抄)

复制代码
AdInsight_[CASE-YYYYMMDD]_Site-[EastGC]_Win-[2019]_UTC-[0900-0930]_[Filtered-Bind].tsv
AdInsight_[CASE-YYYYMMDD]_Full.session
Filters_[LoginSlow]_v3.json
View_[OpsBaseline]_v2.json
  • UTC 时间窗站点/角色是否过滤版本号 让文件一眼可懂。

与计划任务/EDR 的配合

  • 计划任务:触发器 = 时间/登录/开机;操作 = 传参启动;条件 = 市电/网络可用。
  • EDR/AV 白名单:允许 AdInsight 可执行文件与输出目录;避免运行期被阻断。
  • 最小权限:仅在必要服务器上以批准账户运行,日志留痕。

常见坑与规避

  • 忘加 -accepteula → 无人值守下卡在 EULA 弹窗。
  • 抓太久无切片 → 单文件巨无霸,Excel/脚本都吃不动;务必 maxsize + autosplit
  • 时区混乱 → 统一 /utc 导出;共享时再转换本地时间。
  • 只导出过滤后数据 → 证据链不完整;请同时 保留 .session 全量会话。

结语

命令行把 AdInsight 从"手艺活"升级为"流水线"。上面 5 套模板覆盖了日常长跑、时间窗、批量、事故一条龙等主战场。下一篇我们收尾 AdRestore ,讲清意外删除对象的恢复快照对比,把 AD 救援链条补齐。

相关推荐
FakeOccupational2 小时前
电路笔记(信号):Ansys HFSS 求解器激励(Excitation)类型 Driven Modal 和 Driven Terminal & 设置细节
笔记
Tonya432 小时前
测开学习DAY39
学习
匠心网络科技2 小时前
前端学习手册-JavaScript条件判断语句全解析(十八)
开发语言·前端·javascript·学习·ecmascript
松莫莫2 小时前
Windows 下使用 nvm 安装与管理 Node.js(完整指南)
windows·笔记·npm·node.js
JELEE.2 小时前
Vue3复习笔记
vue.js·笔记·vue
d111111111d2 小时前
再STM32F103C8T6中小端存储和大端存储有什么不同,STM32F103C8T6用的是那个,为什么要这么使用?
笔记·stm32·单片机·嵌入式硬件·学习
Chloeis Syntax2 小时前
MySQL初阶学习日记(5)--- 联合查询
java·笔记·学习·mysql
2301_801821712 小时前
两个模型整合问题解决
笔记
思成不止于此2 小时前
【MySQL 零基础入门】DQL 核心语法(三):学生表排序查询与分页查询篇
数据库·笔记·学习·mysql