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. 01WMI による Windows システムの照会
  2. 02ADSI による Active Directory 管理
  3. 03COM による 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] でクリーンアップします

ベストプラクティス

  • 可能な場合は WMI より CIM コマンドレットを使用します(リモート処理に優れています)
  • リモート操作では必ずエラー処理を含めます
  • メモリリークを防ぐため、COM オブジェクトを明示的に解放します
  • 対象の Windows バージョンでテストします
  • 必要な PowerShell モジュールを文書化します
  • 関数には承認済みの動詞を使用します

アンチパターン

アンチパターン問題適切な方法
COM を解放しないメモリリーク明示的にクリーンアップする
低速ネットワークでの WMIパフォーマンスの問題セッションを使用して CIM を使う
エラー処理がないエラーが表面化しないログ記録を伴う Try/Catch
パスのハードコード移植性の問題環境変数を使用する
出力に Write-Host を使う出力を取得できないWrite-Output または return を使う

コメント