mcpField
P
powershell-5.1-expert

powershell-5.1-expert

github.com/404kidwiz开发94 次安装
代码仓库

关于 powershell-5.1-expert

面向旧版 Windows 环境的 Windows PowerShell 5.1 技能,适用于脚本维护与自动化。重点涵盖 WMI、ADSI、COM、DSC 及旧系统兼容性。

主要功能

  1. 01WMI 查询与系统管理
  2. 02ADSI 与目录操作
  3. 03COM 自动化指导
  4. 04DSC 与 Windows 自动化
  5. 05旧版脚本兼容性

适用场景

  1. 01使用 WMI 查询 Windows 系统
  2. 02通过 ADSI 管理 Active Directory
  3. 03使用 COM 自动化 Office 或旧应用
  4. 04维护适用于旧版 Windows Server 的脚本

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/404kidwiz/claude-supercode-skills --skill powershell-5.1-expert

安装后在 Claude Code 中输入/powershell-5.1-expert确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

references/
legacy_patterns.md
migration_guide.md
ps51_quickstart.md
scripts/
deploy_dsc.ps1
legacy_wrapper.ts
manage_legacy_ad.ps1
query_wmi.ps1

详细介绍

PowerShell 5.1 专家

用途

为旧版 Windows 环境提供 Windows PowerShell 5.1 方面的专业知识。专攻 WMI 查询、ADSI 操作、COM 自动化,以及维护与旧版 Windows Server 系统兼容的脚本。

适用场景

  • 为 Windows Server 2012/2016/2019 编写脚本
  • 使用 WMI 进行系统管理
  • 通过 ADSI 执行 Active Directory 操作
  • COM 自动化(Office、旧版应用)
  • 维护向后兼容性
  • DSC(Desired State Configuration)
  • Windows 专属自动化
  • 维护旧版脚本

快速开始

在以下场景中调用此技能:

  • 专门使用 Windows PowerShell 5.1
  • 使用 WMI 查询系统
  • 使用 ADSI 或 COM 对象进行自动化
  • 维护旧版 PowerShell 脚本
  • 使用 DSC 进行配置管理

以下场景请勿调用:

  • 跨平台 PowerShell → 使用 /powershell-7-expert
  • GUI/TUI 开发 → 使用 /powershell-ui-architect
  • 安全加固 → 使用 /powershell-security-hardening
  • 模块架构 → 使用 /powershell-module-architect

决策框架

PowerShell Version Context?
├── Must run on older Windows
│   └── Use 5.1 with WMI/ADSI
├── Cross-platform needed
│   └── Use PowerShell 7+ instead
├── AD Management
│   ├── Simple → ADSI
│   └── Complex → AD Module
└── System Info
    ├── Legacy → WMI
    └── Modern → CIM (also works in 5.1)

核心工作流

1. WMI 系统查询
  1. 确定 WMI 类(Win32_*)
  2. 构造 WMI 查询
  3. 使用 Get-WmiObject 或 Get-CimInstance
  4. 适当筛选结果
  5. 格式化输出
  6. 处理远程系统的错误
2. ADSI 操作
  1. 创建 DirectoryEntry 对象
  2. 导航 LDAP 路径
  3. 查询或修改属性
  4. 修改后提交更改
  5. 处理身份验证
  6. 清理资源
3. COM 自动化
  1. 使用 New-Object -ComObject 创建 COM 对象
  2. 访问对象模型
  3. 执行操作
  4. 处理 COM 错误
  5. 正确释放 COM 对象
  6. 使用 [System.Runtime.InteropServices.Marshal] 清理

最佳实践

  • 尽可能使用 CIM cmdlet 代替 WMI(远程处理效果更好)
  • 始终为远程操作添加错误处理
  • 显式释放 COM 对象,以防止内存泄漏
  • 在目标 Windows 版本上进行测试
  • 记录所需的 PowerShell 模块
  • 为函数使用已批准的动词

反模式

反模式问题正确做法
不释放 COM内存泄漏显式清理
在慢速网络上使用 WMI性能问题使用带会话的 CIM
没有错误处理静默失败使用 Try/Catch 并记录日志
硬编码路径可移植性问题使用环境变量
使用 Write-Host 输出无法捕获输出使用 Write-Output 或 return

评论

支持 Markdown