PowerShell Cmdlet 基礎
Cmdlet(発音は "command-let" に類似)は PowerShell における基本コマンド単位であり、Microsoft が .NET フレームワークに基づいて実装した小さなコマンドです。
Cmdlet は従来のシェルにおける外部プログラムとは異なります。例えば.exe 或 .batファイルなどではなく、PowerShell ランタイム環境に組み込まれています。
各 Cmdlet は、データの取得、プロパティの設定、オブジェクトの作成、ファイルのエクスポートなど、特定のタスクを1つ実行します。
Cmdlet の命名規則:動詞-名詞
PowerShell のすべての Cmdlet の命名は統一された"動詞-名詞"形式に従っています。例:
Get-Process:プロセス情報を取得Set-Date:システム日付を設定New-Item:新しい項目を作成(ファイルやフォルダーなど)Remove-Service:サービスを削除
この命名方法は直感的で一貫性があり、覚えやすく検索しやすいです。
Cmdlet の基本構文構造
Cmdlet の構文構造は一般的に次のとおりです:
例:
Get-Service -Name W32Time
説明:
Get-Service:サービスオブジェクトを取得-Name W32Time:照会するサービス名を指定W32Time
さらに例:
Stop-Process -Id 1234 -Force
-Idは値付きパラメータです-Forceはスイッチパラメータで、値の指定は不要です
パラメータとパイプラインの組み合わせ
Cmdlet はサポートしています:位置パラメータ、、名前付きパラメータ、とパイプライン入力。これにより、コマンドを柔軟に組み合わせて複雑なワークフローを構築できます。
例1:パラメータの指定形式
Get-Process -Name notepad
例2:パイプラインで渡す
"notepad" | Get-Process -Name
例3:オブジェクトをパイプラインで別の Cmdlet に渡す
Get-Process notepad | Stop-Process
上記の例では、Get-Processnotepad プロセスオブジェクトを取得し、パイプラインでStop-Processそれを終了するために渡します。
Cmdlet のヘルプ情報を確認する
PowerShell は完全なヘルプシステムを提供しており、Get-Help任意の Cmdlet の使い方を確認するには次を使用できます:
Get-Help Get-Process
さらにパラメータの説明や例を確認するには、次を追加できます-Detailed 或 -Examples:
Get-Help Get-Process -Examples
PowerShell を初めて使用する場合は、ローカルヘルプを更新するために、次のコマンドを一度実行することをお勧めします:
Update-Help
よく使う基本 Cmdlet 早見表
| Cmdlet | 機能説明 |
|---|---|
Get-Command |
利用可能なすべてのコマンドを表示 |
Get-Help |
コマンドのヘルプ情報を表示 |
Get-Process |
プロセス一覧を取得 |
Get-Service |
サービス一覧を取得 |
Start-Service |
サービスを開始 |
Stop-Service |
サービスを停止 |
Set-ExecutionPolicy |
実行ポリシーを設定 |
New-Item |
新しいファイルまたはフォルダーを作成 |
Remove-Item |
ファイルまたはフォルダーを削除 |
Copy-Item |
ファイルまたはフォルダーをコピー |
Move-Item |
ファイルまたはフォルダーを移動 |
Clear-Host |
画面をクリア(~と類似)cls |
実践例:ファイル操作
フォルダーを作成:
New-Item -Path "C:\TestFolder" -ItemType Directory
そのディレクトリにテキストファイルを作成:
New-Item -Path "C:\TestFolder\demo.txt" -ItemType File
ファイルに内容を書き込む:
Set-Content -Path "C:\TestFolder\demo.txt" -Value "Hello PowerShell"
ファイルの内容を読み取る:
Get-Content -Path "C:\TestFolder\demo.txt"
まとめと学習アドバイス
- Cmdlet は PowerShell の中核単位であり、各 Cmdlet は機能が明確なタスク実行器です。
- 統一された"動詞-名詞"命名規則により、Cmdlet は予測可能で学習しやすくなっています。
- パイプライン、パラメータシステム、オブジェクトモデルの組み合わせにより、Cmdlet はデータ処理と自動化に優れた性能を発揮します。
- よく使う Cmdlet を習得し、オブジェクト操作と組み合わせることが、PowerShell を学ぶ重要な出発点です。
初心者は以下の点から練習を始めることをお勧めします:
- を使用して
Get-Command利用可能なすべてのコマンドを探索する - と組み合わせて
Get-Helpコマンドの使い方を調べることを学ぶ - を利用して
New-ItemとGet-Contentなどのコマンドでローカルファイル操作を行う - パイプラインでコマンドを組み合わせてデータを処理することを積極的に試してみましょう