mvahora2023/powershell-automation
GitHub: mvahora2023/powershell-automation
基于PowerShell的Windows系统自动化和安全响应脚本集合
Stars: 0 | Forks: 0
# powershell-自动化





Windows PowerShell 自动化脚本,用于系统管理、安全事件响应和合规性审计。所有脚本都是幂等的,生成结构化输出,并遵循生产脚本实践。
## 内容
### `system/` — Windows 系统管理
| 脚本 | 目的 |
|---|---|
| `organize_docs.ps1` | 将文档文件夹按文件类型排序到结构化分类目录中 |
| `scan_onedrive.ps1` | 审计云存储内容 — 按类型、大小和位置列出文件 |
| `PostReset_Bootstrap.ps1` | 重置后恢复自动化 — 恢复工具、设置和配置 |
| `recategorize_docs.ps1` | 将误放的文档重新分类到正确的分类目录中 |
| `subcategorize_other.ps1` | 对未分类的文件类型进行二次排序 |
### `security/` — 事件响应和安全态势
| 脚本 | 目的 |
|---|---|
| `Get-FailedLogins.ps1` | 查询事件日志(ID 4625)中的失败登录尝试 — 阈值分析,CSV 导出 |
| `Block-SourceIP.ps1` | 使用 `-WhatIf` 安全性和结构化日志添加 Windows 防火墙入站阻止规则 |
| `Get-SecurityStatus.ps1` | Windows 安全态势报告 — 执行策略、最近失败、可疑服务 |
### `compliance/` — 审计与治理
| 脚本 | 目的 |
|---|---|
| `data_inventory_report.ps1` | 递归文件清单 — 按扩展名分类,标记保留年龄,导出 CSV |
## 设计原则
**幂等的** — 可以安全地多次运行。脚本在重复执行时将系统收敛到目标状态,而不会创建重复或错误。
**结构化输出** — 所有脚本都返回 `PSCustomObject` 管道输出。结果可以管道传输到 `Export-Csv`、`ConvertTo-Json`、`Where-Object` 或任何下游工具。
**ShouldProcess** — `Block-SourceIP.ps1` 和任何破坏性操作支持 `-WhatIf` 和 `-Confirm`,以便在执行前进行安全预览。
**无硬编码路径** — 脚本使用 `$env:USERPROFILE`、`$env:SystemRoot` 和参数块。没有特定于机器的值。
## 要求
- **Windows PowerShell 5.1+**(所有脚本)
- **管理员权限**要求:
- `Get-FailedLogins.ps1` — 事件日志访问
- `Block-SourceIP.ps1` — Windows 防火墙规则创建
- `Get-SecurityStatus.ps1` — 完整事件日志和服务检查
## 快速入门
```
# 过去24小时内审计失败的登录尝试
.\security\Get-FailedLogins.ps1 -HoursBack 24 -Threshold 5
# 在应用之前预览防火墙规则
.\security\Block-SourceIP.ps1 -IPAddress "192.168.1.100" -WhatIf
# 在文件夹上运行文件清单并导出CSV
.\compliance\data_inventory_report.ps1 -RootPath "C:\Users\Public\Documents" -OutputPath ".\inventory.csv"
# 整理文档文件夹
.\system\organize_docs.ps1 -SourcePath "$env:USERPROFILE\Documents"
```
## 许可证
[MIT](LICENSE) — 有关详细信息,请参阅 LICENSE 文件。
标签:AI合规, Awesome, Libemu, Windows 10, Windows 11, Windows PowerShell, 事件日志分析, 云存储审计, 安全响应, 安全态势, 幂等性, 数字取证, 文件分类, 文件归档, 文件管理, 生产级脚本, 系统恢复, 系统管理, 结构化输出, 脚本复用, 脚本开发, 自动化脚本, 自动化运维, 防火墙规则