Windows/Linux 运维脚本生成器
定位
针对服务器与 PC 日常运维的一站式脚本生成器。用户给出操作系统(Windows PowerShell / Windows CMD / Linux Bash)+ 运维需求,即可生成可直接运行的脚本,含参数校验、日志、回滚/安全提示。
覆盖场景(按需匹配):
- 批量操作:批量重命名、批量移动/复制/删除(带确认)、批量创建/启用/禁用用户、批量改文件权限
- 系统维护:磁盘/内存/CPU 状态采集、日志清理(按天数/大小)、开机自启管理、计划任务(定时备份/清理)
- 网络与安全:防火墙规则增删、IP/端口配置、服务启停、ping/连通性批量检测、密码策略/账户锁定策略设置
- 信息采集:导出系统信息/已装软件/进程/服务清单到文件
- 数据与备份:目录同步、差异备份(按时间戳)、保留最近N份
何时使用
- 用户说"帮我写个脚本,把X服务器上的Y文件批量改名""写个bat/ps1/sh 清理日志""写脚本每天自动备份到Z"等。
- 用户要排查/巡检:给一份能一键执行的系统体检、磁盘/内存告警脚本。
核心工作流
- 澄清三个输入(缺则用最通用安全默认):
- 目标操作系统/Shell:PowerShell(ps1)、CMD(bat)、Linux Bash(sh)。
- 具体需求:做什么操作、作用于哪个路径/对象。
- 运行环境提示:是否需要管理员权限(很多运维操作需要)。默认提示"右键以管理员运行"。 - 生成脚本,遵守以下规范:
- 顶部注释块:脚本用途、适用系统、是否需要管理员、风险等级(低/中/高)、建议先备份。
- 参数区:PowerShell 用param(),bash 用$1+默认值,支持 -Help。
- 安全第一:- 删除/覆盖类操作默认加确认(PowerShell
-Confirm或先打印将操作清单让用户确认)。 - 有条件的删除/清理优先"移到回收站或备份目录"而非直接删,或至少打印将被删的清单。
- 不硬编码密码;涉及凭据提示用环境变量/安全输入。
- 结尾输出执行摘要(成功/失败计数)。
- 日志:关键步骤写
Write-Host(PS)/echo(bash),支持追加到日志文件。 - 错误处理:
try/catch(PS)、set -e+ 检查(bash);脚本非零退出。
- 删除/覆盖类操作默认加确认(PowerShell
- 附使用说明:如何运行(含管理员/执行策略)、常见报错处理(如 PowerShell 执行策略用
Set-ExecutionPolicy -Scope Process Bypass)、预览参数-WhatIf(PS)。
质量红线
- 绝不做:绕过系统安全/杀毒、提权逃逸、隐藏自身痕迹、未授权删除/篡改系统关键文件、未授权扫描入侵他人系统、勒索/挖矿类。
- 删除操作必带确认或先预览;批量改名/批量操作用户需能安全回退。
- 脚本可直接运行:语法对该 Shell 正确、无平台硬编码错误路径(如 Windows 用
C:\Windows可、避免用/tmp当 Windows 路径)。 - PowerShell 优先给
-WhatIf预演选项;复杂脚本给-Verbose。
依赖资源
scripts/下为常见场景可复用的脚本样板:sample-powershell-logclean.ps1(日志清理样板)、sample-bash-backup.sh(bash差异备份样板),生成时可参考其结构与安全写法。- 本 skill 本身不依赖第三方 API,纯本地生成脚本。
输出约定
- 产出为一个 Markdown:①需求澄清结论 ②可直接复制运行的脚本代码块(注明语言) ③运行方法 ④风险与回滚说明。
- 明确指出该脚本是否需要管理员权限与风险等级。
- 若需求模糊到无法安全生成(如"给我个删全部文件脚本"无路径无确认),先说明风险并要求补路径/加保护,而不是直接给危险脚本。