【完全保存版】情シスが学ぶべきMicrosoft公式PowerShell教材まとめ
※本記事には広告を含みます。
はじめに
日々の社内アカウント発行やキッティング、ログ調査を自動化しようとPowerShellを独学し始めたものの、検索して出てくる個人ブログのコードが古くて動かず、学習に挫折しかけた経験はないでしょうか。
私も新任のインフラエンジニアだった頃、ネット上の断片的なワンライナーを継ぎ接ぎしてスクリプトを書き、Windows PowerShell 2.0時代の非推奨コマンドや、すでに廃止されたAzure ADモジュール(MSOnline / AzureAD)を使ってしまって後から全面書き直しになった苦い経験があります。
PowerShellは「オブジェクト指向パイプライン」という独自の設計思想を持っており、最初にMicrosoft公式の体系的な教材で基礎固めをするかどうかが、その後の実務スピードを大きく左右します。
この記事では、すべて無料で利用できる「Microsoft Learn」の公式PowerShell教材の中から、情シス・インフラエンジニアが優先して学ぶべきモジュールと、迷わない学習ロードマップを厳選して解説します。
読み終えるころには、古いネット記事に惑わされることなく、最新のPowerShell 7やクラウド管理(Entra ID / Intune)に対応した一生モノの自動化スキルを身につける道筋が明確になります。
この記事の要点
- PowerShellの独学は、ネットの断片記事よりもMicrosoft公式の無料学習プラットフォーム「Microsoft Learn」から始めるのが最短ルート
- まずは「動詞-名詞」の命名規則、パイプラインによるオブジェクト受け渡し、
Get-Help/Get-Memberの自己解決3大コマンドを習得する - 現場で標準の「Windows PowerShell 5.1」と最新の「PowerShell 7」、および「Microsoft Graph PowerShell SDK」の境界線を理解して学ぶことが重要
| 項目 | 動作確認・検証環境 |
|---|---|
| 検証年月 | 2026年9月 |
| 対象OS | Windows 11 Pro 23H2・24H2 / Windows Server 2022 |
| 対象バージョン | Windows PowerShell 5.1 / PowerShell 7.4 |
| 参照リソース | Microsoft Learn(公式ドキュメント・ラーニングパス) |
結論:情シスが最優先で学ぶべきMicrosoft公式教材4選
結論からお伝えすると、情シスやインフラエンジニアがPowerShellを体系的に学ぶなら、Microsoft公式の無料学習サイト「Microsoft Learn」にある4つのコア領域を順番に消化するのが最も確実で効率的 です。
市販の入門書の中には10年前の仕様のまま書かれているものもありますが、Microsoft Learnは常に最新のPowerShell 7および現行クラウド仕様にアップデートされています。
Microsoft公式PowerShell教材のレベル別一覧表
業務の目的と現在のスキルレベルに合わせて、以下の4つの公式教材・リファレンスを活用してください。
| 優先度 | 公式教材・リソース名(Microsoft Learn) | 対象レベル | 習得できるコアスキル | 所要目安 |
|---|---|---|---|---|
| 1 | PowerShell を使用してタスクを自動化する | 入門〜初級 | コマンド検索、パイプライン、変数・配列、関数・スクリプト作成の基礎 | 約4〜5時間 |
| 2 | PowerShell 101(The PowerShell 101 book) | 初級〜中級 | オブジェクト指向の本質、エラーハンドリング(try/catch)、モジュール設計 |
約6〜8時間 |
| 3 | Microsoft Graph PowerShell SDK ドキュメント | 中級(情シス必須) | Entra ID(旧Azure AD)ユーザー管理、ライセンス付与、Intune連携 | 随時参照 |
| 4 | about_* 概念ヘルプ(Conceptual Help) | 全レベル | 演算子、スコープ、実行ポリシーなど言語仕様の公式リファレンス | 辞書利用 |
まずは優先度1の公式ドキュメントを一通り手を動かしながら進め、基礎が固まった段階で優先度2の「PowerShell 101」へ進むのが王道のステップです。
ステップ別・Microsoft Learn公式モジュールの歩き方
それぞれの公式教材において、現場のエンジニアが「特にどこに注目して学ぶべきか」を具体的に解説します。
Step 1:「PowerShell を使用してタスクを自動化する」
Microsoft Learnで最初に確認すべき公式ガイドです。ブラウザや手元のPCで実際にコマンドを打ちながら学べます。
特に重要なのが、最初に押さえておくべき 「コマンドを自力で発見・調査するスキル」 です。
# 1. やりたい操作(例:Service)に関連するコマンドレットを探す
Get-Command -Noun "*Service*"
# 2. 見つけたコマンドの詳しい使い方と実例(-Examples)を表示する
Get-Help Stop-Service -Examples
# 3. コマンドが出力するオブジェクトの「プロパティ(属性)」と「メソッド」を調べる
Get-Service | Get-Member
現場のプロは、何百種類ものコマンド構文を丸暗記しているわけではありません。上記の Get-Command、Get-Help、Get-Member という「3大調査コマンド」の使い方をマスターすれば、未知のシステムでも自力でスクリプトを組めるようになります。
Step 2:体系的ガイド「PowerShell 101」で脱・初心者を果たす
Microsoft Learnのドキュメントセクションで公開されている「PowerShell 101」は、Microsoft MVPのMike F. Robbins氏が執筆し、公式ドキュメントとして統合された名著です。
多くの初心者がつまずく 「テキスト(文字列)ではなくオブジェクトをパイプラインで渡す」 という概念が、非常にわかりやすく解説されています。
# 【初心者がやりがちなNG例】Format-Tableで整形した後にデータを抽出しようとして失敗する
Get-Process | Format-Table Name, CPU | Where-Object { $_.CPU -gt 10 }
# → Format-Tableを通すと「画面表示用のフォーマット情報」に変換されるため、後続のWhere-Objectが動かない
# 【公式で学ぶ正しいパイプライン】絞り込み・ソートを終えてから、最後に画面整形する
Get-Process |
Where-Object { $_.CPU -gt 10 } |
Sort-Object CPU -Descending |
Format-Table Name, Id, CPU -AutoSize
このような「なぜ自分のパイプラインが動かないのか」という根本原理(フィルタリングは左、フォーマットは右という原則)を、公式の一次情報で腹落ちさせることができます。
Step 3:情シス実務の要「Microsoft Graph PowerShell SDK」
現在の社内情シス業務(Microsoft 365、Entra ID、Intuneの運用)において、最も重要な公式ドキュメントが「Microsoft Graph PowerShell」です。
ネットを検索すると、いまだに Connect-MsolService や Get-AzureADUser を使った古い記事が大量にヒットしますが、旧MSOnlineおよびAzureADモジュールはすでに廃止(非推奨化) されています。
これからクラウド管理スクリプトを書く場合は、必ず公式ドキュメントの「Microsoft Graph PowerShell SDK」を参照してください。
# 現行標準:Microsoft Graph PowerShell SDK を使ったユーザー一覧取得例
# (※事前に Install-Module Microsoft.Graph -Scope CurrentUser が必要)
Connect-MgGraph -Scopes "User.Read.All"
# 部署が「営業部」の有効なアカウントを抽出
Get-MgUser -Filter "Department eq '営業部' and AccountEnabled eq true" -All |
Select-Object DisplayName, UserPrincipalName, JobTitle
独学で挫折しないための「現場の3大注意点」
公式教材で学習を進めるにあたり、実務環境とのギャップで混乱しないための注意点を3つ整理します。
注意点1:「Windows PowerShell 5.1」と「PowerShell 7」の境界線を知る
Microsoft Learnの最新教材は、主にオープンソース・クロスプラットフォーム版の 「PowerShell 7(pwsh.exe)」 を前提に書かれています。
一方、企業のクライアントPC(Windows 11)やWindows Serverに標準搭載されているのは 「Windows PowerShell 5.1(powershell.exe)」 です。
| 比較項目 | Windows PowerShell 5.1 | PowerShell 7(7.4 LTS等) |
|---|---|---|
| 実行ファイル名 | powershell.exe |
pwsh.exe |
| OS標準搭載 | Windows 10 / 11 / Server に標準同梱 | 別途インストールが必要(wingetやMSI) |
| 基盤ランタイム | .NET Framework 4.x | .NET 8 等の最新モダンランタイム |
新構文(&&, ?:, -Parallel) |
使用不可(構文エラーになる) | 使用可能 |
| 今後の機能追加 | なし(セキュリティ修正のみ) | 継続的に新機能・高速化を提供 |
社内PCへスクリプトを配布する場合、対象端末にPowerShell 7が入っていなければ「5.1で動く構文」で書く必要があります。公式教材で ForEach-Object -Parallel や三項演算子を学んだ際は、「これはPowerShell 7専用の機能だ」と意識して使い分けてください。
注意点2:コンソール上で即座に引ける「about_*」ヘルプを活用する
インターネットに接続できない閉域網のサーバールームや、作業中に素早く仕様を確認したいときは、PowerShell内蔵の概念ヘルプ(about_*)が最強の教材になります。
# 最新の日本語ヘルプファイルをダウンロード・更新する(管理者権限推奨)
Update-Help -UICulture ja-JP -Force
# 比較演算子(-eq, -ne, -like, -match 等)の公式解説を読む
Get-Help about_Comparison_Operators
# 実行ポリシー(ExecutionPolicy)の仕様と優先順位を確認する
Get-Help about_Execution_Policies
# エラー処理(try / catch / finally)の書き方を確認する
Get-Help about_Try_Catch_Finally
検索エンジンで曖昧な解説記事を探すよりも、Get-Help about_* を叩くほうが正確で、現場のトラブルシューティング時間も大幅に短縮できます。
注意点3:本番環境でいきなり動かさず -WhatIf と -Confirm を使う
学習したコマンドを実務のActive Directoryやファイルサーバーで試す際、最も怖いのが「意図しない大量削除や設定変更」です。
PowerShellのシステム変更系コマンドレット(Remove-*, Set-*, Stop-* など)には、実際には処理を行わずに「何が起きるか」だけをシミュレーション表示する -WhatIf パラメータ が標準で備わっています。
# 実際には停止せず、どのサービスが停止対象になるかだけを安全にテストする
Get-Service -Name "wuauserv" | Stop-Service -WhatIf
# 出力: What if: ターゲット "Windows Update (wuauserv)" に対して操作 "Stop-Service" を実行しています。
公式教材で学んだ構文を現場のサーバーで試す際は、まず -WhatIf を付けて実行結果を確認する習慣を徹底してください。
よくある質問(FAQ)
Q: Microsoft LearnのPowerShell教材はすべて無料で使えますか?
A: はい、すべて完全無料で利用できます。Microsoftアカウント(個人の無料アカウントで可)でサインインすれば、学習の進捗状況を記録したり、ブラウザ上の無料検証環境(Azure Cloud Shellサンドボックス)を使って手元のPCを汚さずにコマンドの演習を行ったりできます。
Q: 付属の「PowerShell ISE」でスクリプトを書いても大丈夫ですか?
A: これから学習・開発する場合は、PowerShell ISEではなく 「Visual Studio Code(VS Code)+ PowerShell拡張機能」 の組み合わせを強く推奨します。PowerShell ISEはWindows PowerShell 5.1専用であり、すでに新規開発が終了しているためPowerShell 7に対応していません。Microsoft公式ドキュメントでもVS Codeが標準エディタとして案内されています。
Q: 英語の公式リファレンスが多くて読みづらいときの対処法は?
A: Microsoft LearnのURLに含まれる /en-us/ を /ja-jp/ に書き換えるか、ページ右上の言語切り替えスイッチで日本語表示に変更できます。また、コマンドの構文例(Examples)は英語ページの方が先に最新化されることが多いため、ブラウザの自動翻訳機能と原文のコードブロックを併用して読むと効率的です。
まとめ
情シス・インフラエンジニアがPowerShellを最短で実務レベルまで引き上げるためのポイントは以下の通りです。
- 検索上位の古い個人記事に頼らず、まずは Microsoft Learnの「PowerShell を使用してタスクを自動化する」 で基礎を固める
Get-Command・Get-Help・Get-Memberの3大コマンドと、パイプラインのオブジェクト処理を 「PowerShell 101」 で体系的に理解する- クラウド管理(Entra ID / Microsoft 365)は、廃止された旧モジュールではなく 「Microsoft Graph PowerShell SDK」 の公式リファレンスを参照する
- 現場の標準である Windows PowerShell 5.1 と最新の PowerShell 7 の違い を意識し、検証時は必ず
-WhatIfで安全確認を行う
公式の一次情報をベースに基礎を固めておけば、OSのバージョンアップやクラウド仕様の変更が起きても、自力でドキュメントを読み解いて自動化スクリプトを書き続けられるようになります。
関連記事
この記事で提供される情報は、一般的なガイダンスを目的としており、すべての環境やシステムでの動作を保証するものではありません。
OSのバージョンやリリースによっては、記載されている事が実行できない、または異なる結果をもたらす可能性があります。
また、会社所有のパソコン、スマホ、タブレットなどでは、ポリシーや権限によって実行できない場合があります。
この記事の情報を使用することによって生じる問題や結果について、筆者およびサイト管理者は責任を負いません。
すべての操作は自己責任で行ってください。
またお会いしましょう!
著者のおすすめ教材 & note実践記事
PowerShell実務スクリプト50選
AD・Windows運用・障害対応をコマンド一発で自動化する現役SEの実務スクリプト集。
ググっても出ない実務テク20選
社内SE現場の地味で細かすぎる面倒作業を一撃で解消する実践テクニック集。