mvahora2023/powershell-automation

GitHub: mvahora2023/powershell-automation

基于PowerShell的Windows系统自动化和安全响应脚本集合

Stars: 0 | Forks: 0

# powershell-自动化 ![许可证](https://img.shields.io/github/license/mvahora2023/powershell-automation) ![最后提交](https://img.shields.io/github/last-commit/mvahora2023/powershell-automation) ![PowerShell](https://img.shields.io/badge/PowerShell-5.1%2B-5391FE?logo=powershell&logoColor=white) ![Windows](https://img.shields.io/badge/Windows-10%2F11-0078D6?logo=windows&logoColor=white) ![平台](https://img.shields.io/badge/Platform-Windows-lightgrey) 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, 事件日志分析, 云存储审计, 安全响应, 安全态势, 幂等性, 数字取证, 文件分类, 文件归档, 文件管理, 生产级脚本, 系统恢复, 系统管理, 结构化输出, 脚本复用, 脚本开发, 自动化脚本, 自动化运维, 防火墙规则