PowerShellの基本情報
PowerShellは、Microsoftが開発したコマンドラインシェルおよびスクリプト言語です。もともとはWindowsの管理作業を自動化するために作られましたが、現在はPowerShell CoreによりLinuxやmacOSでも利用可能なクロスプラットフォームツールとなっています[3][4][5]。
特徴として、従来のコマンドプロンプトやUnix系シェルと異なり、テキストではなく.NETオブジェクトをやり取りできる点が挙げられます。これにより、複雑なデータ処理や管理タスクを効率的に自動化できます[2][3][5]。
拡張子は「.ps1」で、Windows 7以降のOSには標準搭載されています[1][2]。
PowerShellの基本構文
1. コマンドレット(Cmdlet)
- PowerShellのコマンドは「動詞-名詞」形式(例:Get-Process)で記述します。
- Cmdletは小さなプログラムで、結果を.NETオブジェクトとして返します。
- パイプ(|)を使ってコマンド同士を連携できます。
Get-Process
(実行中プロセスの一覧を表示)[5]
2. 変数
- 変数は$記号で始めます。
$greeting = "Hello, PowerShell!"
Write-Output $greeting
(変数の宣言と出力)[5]
3. ループ処理 - 例えば、1から5まで繰り返し処理する場合:
foreach ($i in 1..5) {
Write-Output "Number: $i"
}
4. 条件分岐(if文)
- 比較演算子は英語風で、-eq(等しい)、-gt(より大きい)などを使います。
$number = 10
if ($number -gt 5) {
Write-Output "5より大きい"
} else {
Write-Output "5以下"
}
| 比較演算子 | 意味 |
|---|---|
-eq |
等しい |
-ne |
等しくない |
-gt |
より大きい |
-lt |
より小さい |
-ge |
以上 |
-le |
以下 |
5. パイプライン - コマンドの出力を次のコマンドに渡すことができます。PowerShellでは「オブジェクト」をパイプでつなぐのが特徴です。
Get-Process | Where-Object { $_.CPU -gt 100 }
(CPU使用率が100を超えるプロセスを抽出)[5]
まとめ
PowerShellは、Windowsだけでなく様々な環境で使える高機能なシェル&スクリプト言語です。オブジェクト指向の考え方や強力な自動化機能、そして直感的な構文が特徴です[2][3][5]。初心者でも基本的なコマンドや構文を覚えれば、日常の作業を効率化できます。