ファイル・ディレクトリ操作
ファイルシステム内のアイテムを管理するための基本的なコマンドレット。
アイテムの取得・存在確認
| 目的 | コマンドレット | 例 |
|---|---|---|
| カレントディレクトリの取得 | Get-Location (エイリアス: gl, pwd) | |
| ディレクトリの内容表示 | Get-ChildItem (エイリアス: gci, ls, dir) | |
| アイテムの存在確認 | Test-Path | |
| ファイルのコンテンツ取得 | Get-Content (エイリアス: gc, cat, type) | |
アイテムの作成・変更・移動・削除
| 目的 | コマンドレット | 例 |
|---|---|---|
| ディレクトリの変更 | Set-Location (エイリアス: sl, cd, chdir) | |
| 新しいアイテム(ファイル/ディレクトリ)の作成 | New-Item (エイリアス: ni) | |
| アイテムのコピー | Copy-Item (エイリアス: cpi, cp, copy) | |
| アイテムの移動 | Move-Item (エイリアス: mi, mv, move) | |
| アイテム名の変更 | Rename-Item (エイリアス: rni, ren) | |
| アイテムの削除 | Remove-Item (エイリアス: ri, rm, del, erase, rd) | |
| ファイルへのコンテンツ書き込み/追記 | Set-Content (エイリアス: sc) / Add-Content (エイリアス: ac) | |
| ファイルのコンテンツ置換 | (Get-Content ...) -replace ... | Set-Content ... | |
システム情報取得
OS、ハードウェア、環境変数などのシステム情報を取得します。
| 目的 | コマンドレット / 変数 | 例 |
|---|---|---|
| OS情報取得 (WMI/CIM) | Get-CimInstance (推奨) / Get-WmiObject (旧) | |
| 環境変数の取得 | $env: / Get-ChildItem Env: | |
| 日付・時刻の取得 | Get-Date | |
| PowerShellのバージョン確認 | $PSVersionTable | |
| コンピュータ名の取得 | $env:COMPUTERNAME / hostname | |
| ホットフィックス(更新プログラム)の取得 | Get-HotFix | |
プロセス管理
実行中のプロセスを管理します。
| 目的 | コマンドレット | 例 |
|---|---|---|
| プロセスの一覧取得 | Get-Process (エイリアス: gps, ps) | |
| プロセスの停止 | Stop-Process (エイリアス: spps, kill) | |
| 新しいプロセスの開始 | Start-Process (エイリアス: saps, start) | |
| プロセスの待機 | Wait-Process | |
サービス管理
Windows サービスの状態を確認したり、操作したりします。
| 目的 | コマンドレット | 例 |
|---|---|---|
| サービスの一覧取得 | Get-Service (エイリアス: gsv) | |
| サービスの開始 | Start-Service (エイリアス: sasv) | |
| サービスの停止 | Stop-Service (エイリアス: spsv) | |
| サービスの再起動 | Restart-Service (エイリアス: rs) | |
| サービスのプロパティ変更 | Set-Service | |
| 新しいサービスの作成 | New-Service | |
ネットワーク操作
ネットワーク設定の確認やテスト、通信を行います。
| 目的 | コマンドレット | 例 |
|---|---|---|
| IP構成の表示 | Get-NetIPConfiguration (推奨) / ipconfig (外部) | |
| IPアドレス情報の表示 | Get-NetIPAddress | |
| ネットワーク接続テスト (Ping) | Test-Connection (エイリアス: ping ※内部) | |
| ポート接続テスト | Test-NetConnection (エイリアス: tnc) | |
| Webコンテンツの取得 | Invoke-WebRequest (エイリアス: iwr, wget, curl) | |
| REST APIの呼び出し | Invoke-RestMethod (エイリアス: irm) | |
変数・データ操作
変数への代入、配列やハッシュテーブルの操作、オブジェクトの選択・変換など。
基本的な操作
| 目的 | 構文 / コマンドレット | 例 |
|---|---|---|
| 変数への代入 | $variableName = value | |
| 配列の操作 | インデックス[], +=, + | |
| ハッシュテーブルの操作 | キー. or [], +=, .Add(), .Remove() | |
オブジェクトの操作とフィルタリング
| 目的 | コマンドレット | 例 |
|---|---|---|
| オブジェクトのプロパティ選択 | Select-Object (エイリアス: select) | |
| オブジェクトのフィルタリング | Where-Object (エイリアス: where, ?) | |
| オブジェクトのソート | Sort-Object (エイリアス: sort) | |
| オブジェクトのグループ化 | Group-Object (エイリアス: group) | |
| オブジェクトの測定 (数値計算) | Measure-Object (エイリアス: measure) | |
| コレクションの各要素に対する処理 | ForEach-Object (エイリアス: foreach, %) | |
データ形式の変換
| 目的 | コマンドレット | 例 |
|---|---|---|
| CSV形式への変換/エクスポート | ConvertTo-Csv / Export-Csv | |
| CSV形式からのインポート | Import-Csv | |
| JSON形式への変換 | ConvertTo-Json | |
| JSON形式からの変換 | ConvertFrom-Json | |
| XML形式への変換/エクスポート | ConvertTo-Xml / Export-Clixml | |
| XML形式からのインポート | Import-Clixml / [xml] キャスト | |
スクリプト制御構文
スクリプトの流れを制御するための構文(条件分岐、繰り返しなど)。
| 目的 | 構文 | 例 |
|---|---|---|
| 条件分岐 (If-ElseIf-Else) | if (condition) { ... } elseif (condition) { ... } else { ... } | |
| 条件分岐 (Switch) | switch (value) { condition { ... } condition { ... } default { ... } } | |
| 繰り返し (For) | for (initialization; condition; increment) { ... } | |
| 繰り返し (ForEach) ※コレクション用 | foreach ($item in $collection) { ... } | 注意: パイプラインで使用する ForEach-Object (エイリアス foreach, %) とは異なります。 |
| 繰り返し (While) | while (condition) { ... } | |
| 繰り返し (Do-While/Do-Until) | do { ... } while (condition)do { ... } until (condition) | |
| ループの制御 (Break/Continue) | break / continue | |
その他便利なコマンドレット
日常的なタスクやスクリプト作成に役立つその他のコマンドレット。
| 目的 | コマンドレット | 例 |
|---|---|---|
| コンソールへの出力 | Write-Host, Write-Output, Write-Verbose, Write-Warning, Write-Error | |
| コマンドのヘルプ表示 | Get-Help (エイリアス: help, man) | |
| コマンドの検索 | Get-Command (エイリアス: gcm) | |
| オブジェクトのメンバー (プロパティ/メソッド) 表示 | Get-Member (エイリアス: gm) | |
| スクリプトの実行ポリシー管理 | Get-ExecutionPolicy / Set-ExecutionPolicy | セキュリティ設定のため、 Set-ExecutionPolicy の使用は慎重に行ってください。 |
| モジュールの管理 | Get-Module, Import-Module, Remove-Module, Install-Module, Update-Module, Find-Module | |
| 一時停止 | Start-Sleep (エイリアス: sleep) | |
| 乱数の生成 | Get-Random | |
レジストリ操作
Windows レジストリのキーや値を操作します。PowerShell Drive (PSDrive) としてアクセスします (例: HKLM:, HKCU:)。
レジストリの変更はシステムに影響を与える可能性があるため、慎重に行ってください。バックアップを推奨します。
| 目的 | コマンドレット / 操作 | 例 |
|---|---|---|
| レジストリキーの内容表示 | Get-ChildItem (エイリアス: gci, ls, dir) | |
| レジストリキーの値を取得 | Get-ItemProperty (エイリアス: gp) | |
| 新しいレジストリキーを作成 | New-Item (エイリアス: ni) | |
| レジストリ値の作成/設定 | New-ItemProperty / Set-ItemProperty | |
| レジストリキー/値の存在確認 | Test-Path | |
| レジストリキーの削除 | Remove-Item (エイリアス: ri, del) | |
| レジストリ値の削除 | Remove-ItemProperty | |