marcus9467/rubrik
GitHub: marcus9467/rubrik
经过生产验证的 Rubrik CDM 与 Security Cloud 自动化脚本库,解决大规模环境下批量上线、Day-2 运维、恢复及勒索软件响应中手动操作不可行的问题。
Stars: 6 | Forks: 0
# Rubrik 自动化脚本
经过生产测试的 [Rubrik](https://www.rubrik.com/) CDM 和 Rubrik Security Cloud (RSC) 自动化脚本。
这里的每个脚本都源于客户环境中的具体运维问题——停滞的迁移、缺失的报告、必须在上线前验证的恢复——随后经过通用化和强化以便重用。
**内容:** 39 个 PowerShell 脚本 · 26 个可重用的 PowerShell 函数 · 12 个 Python 脚本 · 3 个 shell 脚本
## 从这里开始
如果您只是在浏览,以下五个脚本最能代表我的工作方式:
| 脚本 | 亮点 |
|--------|---------------------|
| [`Get-SnapshotDetails.ps1`](Powershell/Get-SnapshotDetails.ps1) | 跨 9 种对象类型的多线程快照清单,包含归档/复制延迟和大小估算。能够处理大到无法串行枚举的环境。 |
| [`EventParser.py`](Python/EventParser.py) | 将来自 RSC 的高置信度勒索软件警报流式传输到 syslog 目标,带有 `--test` 模式,让您可以在信任它之前验证 SIEM 连接。 |
| [`OnboardMSSQLHosts.ps1`](Powershell/OnboardMSSQLHosts.ps1) | 将批量 SQL 上线作为分阶段的流水线——生成、审查、分配、验证——每次 API 调用最多可批量处理 50 个实例。人工审查步骤是刻意设计的。 |
| [`DetectDoubleDippersRSC.ps1`](Powershell/DetectDoubleDippersRSC.ps1) | 查找通过多条路径保护的对象,并提供整合建议。这是在发现客户重复付费后编写的。 |
| [`CloudChargeBack.ps1`](Powershell/CloudChargeBack.ps1) | 将 Rubrik 摄取的云标签与容量端点结合,按业务部门生成计费报告。 |
## 按问题分类
### 大规模上线与保护
当通过 UI 点击进行操作不可行时,将工作负载置于保护之下。
- `OnboardMSSQLHosts.ps1` — 批量 SQL Server 主机注册和 SLA 分配
- `OnboardingVMsCDM.ps1` — VMware VM 注册及文件级恢复代理设置
- `OnboardOneDrive.ps1` — Microsoft 365 OneDrive 用户保护,批量处理
- `ProtectAzureVM.ps1` / `SampleAzureVM.ps1` — Azure VM 保护自动化
- `Set-vSphereVMPrefix.ps1` — 按 VM 名称前缀进行 SLA 分配
### Day-2 运维
快照生命周期、保留策略以及让审计高枕无忧的报告。
- `BackupComplianceRangeReport.ps1` — RSC 租户中所有集群的合规性和快照数据
- `Get-SnapshotDetails.ps1` — 带有归档和复制元数据的线程化快照清单
- `Update-SnapshotRetention.ps1` — 批量保留 SLA 更改或删除
- `Delete-SnapshotsInBulk.ps1` — 由 CSV 驱动的批量快照清理
- `Update-LogPolicy.ps1` — 跨现有数据库继承日志策略
- `Refresh-WindowsHost.ps1` / `ReinstallRBS.ps1` — 代理集群维护
### 恢复与实时挂载
在压力下执行的工作流,因此它们被构建为可安全重复运行。
- `LiveMountSQL.ps1` — 在一个模块化脚本中实现由 CSV 驱动的 SQL 实时挂载和卸载
- `Invoke-EhrGcpRecovery.ps1` — 针对 GCP 上 EHR 工作负载的引导式批量恢复
- `MassVMwareLiveMountRemove.ps1` — 批量实时挂载卸除
- `invoke-filesetrestore.sh` — 通过 REST 进行 Linux 文件集恢复
### 勒索软件、安全与审计
- `EventParser.py` / `AnomalyParser.py` — 将高置信度勒索软件警报转发到 syslog
- `EnableRadar.py` — 按集群启用 Radar
- `Get-RubrikClusterEncryptionStatus.ps1` — 所有已连接集群的加密状态
- `ssoGroupSummary.ps1` — 导出 SSO 组成员身份以供访问审查
### 成本、容量与报告
- `CloudChargeBack.ps1` — 按标签划分的云存储计费
- `DetectDoubleDippersRSC.ps1` — 重复保护检测
- `RubrikComputeSizing.py` — 计算规模分析
- `Get-RscReportDownload.ps1` — 从 RSC 编程导出报告
### 应用一致性与按需备份
- `MVBegin-EndSnapsCDM.ps1` / `MVSnapshotRSC.ps1` — 用于应用一致性备份的托管卷打开/关闭
- `SQLOnDemand.ps1` — 由数据加载器前置脚本触发的快照
- `OnDemandGCESnapshot.py` / `TakeOnDemandEBSVolume.py` — 云原生按需快照
- `NutanixVMOnDemand.ps1`, `OnDemandVG.ps1`, `Bash/OnDemandBackup.sh`
### 可重用函数
[`Powershell/Functions/`](Powershell/Functions) 包含 26 个单一用途的函数——RSC 认证、SLA 查找、主机注册、实时挂载原语、法定保留——由更大的脚本组合而成。如果您正在构建自己的工作流,可以直接获取源码使用。
## 快速入门
### 前置条件
- 一个 Rubrik CDM 集群或 Rubrik Security Cloud 租户
- 一个 RSC 服务账号 JSON(较新的脚本)或 CDM 凭据(旧版 CDM 脚本)
- PowerShell 脚本需要 PowerShell 7+
- Python 脚本需要 Python 3.8+ 以及 `requests`
### 认证
较新的脚本使用服务账号 JSON 文件向 RSC 进行认证,并将其作为参数传入:
```
$serviceAccountJson = "./rsc-service-account.json"
./Powershell/Get-HostInfo.ps1 -ServiceAccountJson $serviceAccountJson
```
较早的 CDM 时代脚本会提示输入凭据或接受集群地址:
```
./Powershell/Get-SnapshotDetails.ps1 -threadcount 16 -rubrikAddress -AllObjects
```
每个脚本都包含完整的基于注释的帮助:
```
Get-Help ./Powershell/OnboardMSSQLHosts.ps1 -Full
```
## 约定
- **写前先读。** 更改状态的脚本通常包含生成/审查步骤,在应用任何更改之前,会输出一个供人工检查的 CSV。
- **CSV 输入,CSV 输出。** 批量操作接受 CSV 并输出带有时间戳的 CSV,因此运行过程可审计且可重复运行。
- **无硬编码凭据。** 认证始终通过参数进行——服务账号 JSON、凭据文件或提示输入。
## 许可证
MIT — 请参阅 [LICENSE](LICENSE)。
## 免责声明
社区脚本,Rubrik 不提供官方支持。按“原样”提供,无任何担保。请按照您组织的变更管理策略进行使用。
标签:AI合规, Cutter, IPv6, Libemu, PowerShell, Python, Rubrik, 勒索软件响应, 数字取证, 数据备份, 无后门, 自动化脚本, 运维管理, 逆向工具