【Claude Codeチャレンジ日誌12】AIエージェントでWindowsサーバーの調査タスクを効率化してみた

はじめに
今回はClaudeCodeのAIエージェント機能を使って、OS再起動トラブル調査を効率化してみました。
AIエージェント(Claude Code)を使った調査実行の様子
1. なぜAIエージェントを使おうと思ったのか
実際のサーバー環境で予期しない再起動が発生すると、以下のような課題がありました:
- 調査内容のばらつき: 担当者によって調査項目や深度が変わってしまう
 - 時間がかかる: 手動でログやシステム情報を収集するのは時間がかかる
 - 見落としリスク: 重要な情報を見落とす可能性がある
 - レポート作成の手間: 調査結果をまとめるのも一苦労
 
そこで、「AIエージェント自体をサーバー環境下に直接導入できたという仮の設定」で実験してみることにしました。
2. 設計思想:調査内容の品質を均一化
最初は「調査内容をエージェント任せにしちゃえばいいじゃん」と思ったんですが、これだと毎回ぶれちゃうんですよね。
そこで考えたのが、AIエージェントに調査用のPowerShellスクリプトを一式自動生成させて、調査内容の品質を均一化するという設計です。
具体的には:
- 標準的な調査項目をPowerShellで自動化
 - 収集するデータの種類と形式を統一
 - 人的ミスを排除
 
この方式なら、誰が実行しても同じ品質の調査ができるはず。
3. 実装したシステム構成
3.1 AIエージェント定義
ClaudeCodeのエージェント機能を使って、unexpected-reboot-investigatorという専用エージェントを作成しました。
このエージェントの役割は:
- PowerShellスクリプト(
Run-AllInvestigation.ps1)を実行 - 収集したデータを分析
 - プロフェッショナルなHTMLレポートを生成
 
3.2 PowerShell調査スクリプト群
以下のような調査スクリプトを自動生成・実行します:
# システム情報収集
01_Collect-SystemInfo.ps1
02_Collect-EventLogs.ps1
03_Collect-SystemFiles.ps1
04_Collect-PerformanceData.ps1
05_Analyze-Data.ps1
06_Generate-HTMLReport.ps1
各スクリプトが特定の調査項目を担当することで、漏れなく情報を収集できます。
4. 2種類のレポート生成
今回のシステムでは、用途に応じて2種類のレポートを生成できるようにしました:
4.1 ①簡易レポート(PowerShell自動生成)
PowerShellで自動収集した情報をもとに、機械的に簡易HTMLレポートを自動生成します。
特徴:
- 高速生成(約1分で完了)
 - 収集した情報をもとに事前に準備したhtmlレポートテンプレを機械的に自動生成
 
4.2 ②プロフェッショナルレポート(ClaudeCode分析)
ClaudeCode自体に、PowerShellで自動収集したデータを参照させて分析させ、ITシステム運用保守向けのプロフェッショナルレポートを自動生成します。
特徴:
- 高度な技術分析と根本原因特定
 - システム可用性とパフォーマンス評価
 - 優先度付きの技術的対応策
 - 運用保守チーム向けの詳細分析
 - 予防保全とモニタリング強化提案
 - プロフェッショナルなデザインで視覚的に整理
 
5. 実際に使ってみた結果
調査の実行
claude codeを立ち上げて自然言語で以下の指示出しをするだけOK。
OS再起動イベント調査エージェントで直近14日間の情報を調査してください。
たったこれだけで、包括的な調査が始まります。
生成された成果物
実行後、以下のような構成でレポートが生成されました:
F:\agents\reports\20250824-170054\
├── data\                          # 収集した生データ
├── unexpected_reboot_investigation_report.html  # 簡易レポート
└── professional_analysis_report.html  # プロフェッショナルレポート
6. 簡易レポート
簡易レポートはPowerShellで自動収集された情報を機械的にhtmlテンプレートにあてはめたもので以下のようなレポートが1分程度で生成されます。
簡易レポート内容




7. プロフェッショナルレポート
ClaudeCodeに収集したデータを直接チェックさせてITシステム運用保守向けのhtmlレポートを自動生成させた例は以下の通り。
エージェント作成レポート




8. 効率化の効果
Before(従来の手動調査)
- 調査時間: 1時間
 - レポート作成:1時間
 - 品質のばらつき: あり
 - 見落としリスク: あり
 
After(AIエージェント活用)
- 調査時間: 5分(自動実行)
 - レポート作成: 10分(自動生成)
 - 品質のばらつき: なし
 - 見落としリスク: 大幅削減
 
約90%の工数削減期待
9. 工夫ポイント
エージェント設定の最適化
デフォルトのままだと、コマンド実行に失敗してリトライするケースが多く、無駄なやり取りが多いので、一度発生したエラーは次回以降再発しないようにCLAUDE.mdなどにルールとして定義を追加していく。
### 文字化け防止対策
8. **UTF-8エンコーディング必須**: HTMLファイルには必ず `<meta charset="UTF-8">` を含める
9. **日本語フォント指定**: CSSで日本語対応フォントを最初に指定する
10. **BOM付きUTF-8回避**: Write toolでのファイル生成時はBOMなしUTF-8を使用
11. **HTMLエンティティ使用**: 特殊な日本語文字や記号は適宜HTMLエンティティに変換
12. **文字エンコーディング統一**: 全テキストコンテンツはUTF-8で統一
10. 今後の展望
今回の実験で、AIエージェントによる運用業務の自動化の可能性をめちゃくちゃ感じました。
他の運用タスクへの展開
- ディスク容量不足調査
 - ネットワーク接続問題の診断
 - パフォーマンス劣化の原因分析
 - バッチジョブの一次切り分け調査
 
まとめ
AIエージェントを有効活用することで、今まで人力で実施していたサーバ運用管理作業もいろいろと効率化できる可能性を秘めていることを体感できた。
課題:
- 初期セットアップにそれなりの工数が必要
 - 特殊なケースへの対応は人間の判断が必要
 - AIの分析結果の妥当性チェックは重要
 - CLAUDE.md設定ファイルの継続的メンテナンスが必要
 
Discussion