PowerShell
オブジェクトパイプラインとエラー処理機構を持つ、Microsoftが最も堅牢で最新のWindows自動化に推奨するコマンドラインシェル兼スクリプト言語。
- 概念URI
https://comcomponent.com/knowledge/powershell/
- 別名・表記
- Windows PowerShell / pwsh / PowerShell 7
- 下位概念
- Sort-Object / Select-String / Tee-Object / Invoke-RestMethod / Get-Error / Remove-Item
- 最終確認日
- 2026-08-01
- 機械可読データ
- JSON-LD
この概念が関わる関係
- PowerShellはWindowsの自動化に対する本記事の推奨です。Microsoftの公式ドキュメントは最も堅牢で最新のWindows自動化にPowerShellの使用を推奨すると明記している / 確度: 確立した関係 / 確認日: 2026-08-01 出典
- PowerShellは終了コード(exit code)を利用します。PowerShellのexitキーワードは$LASTEXITCODEを設定し、pwsh -Fileで実行したスクリプトの終了コードは呼び出し元の%ERRORLEVEL%として観測される / 確度: 確立した関係 / 確認日: 2026-08-01 出典
- 入口batからPowerShellを呼ぶ構成はPowerShellを利用します。入口batはpowershell.exeまたはpwshを-Fileパラメーターで呼び出し、%~dp0で自身のフォルダを解決する / 確度: 確立した関係 / 確認日: 2026-08-01 出典
- PowerShellはPowerShell実行ポリシーを前提とします。PowerShellスクリプトの実行は実行ポリシーの制約を受ける。既定値は環境で異なり、Windows PowerShell 5.1のクライアントOSではRestricted(スクリプト実行不可)、Windows ServerとPowerShell 7ではRemoteSignedである。RemoteSignedの場合、インターネット由来のマーク付き未署名スクリプトはブロックされる / 確度: 条件付きの関係 / 確認日: 2026-08-01 出典
- PowerShellはrobocopyを利用します。PowerShellはrobocopyのような実績ある外部コマンドをそのまま呼び出せるため、Copy-Itemでの再実装は不要とされる / 確度: 確立した関係 / 確認日: 2026-08-01 出典
- PowerShellはPowerShellのtry/catchを利用します。PowerShellはtry/catch/finallyで文終了エラーとスクリプト終了エラーを構造的に処理できる / 確度: 確立した関係 / 確認日: 2026-08-01 出典
- PowerShellは-WhatIfパラメーターを利用します。PowerShellの破壊的操作を行うコマンドレットのうち、SupportsShouldProcessを宣言してShouldProcessを呼ぶものに限り、-WhatIfで実行せずに影響を予告表示できる共通パラメーターを持つ。外部コマンドの呼び出しには自動では付かない / 確度: 条件付きの関係 / 確認日: 2026-08-01 出典
- PowerShellはPesterを利用します。移行したスクリプトを自動テストで守る場合、Pesterで『動くはず』を継続的に確認できる。自動テストを持たないスクリプトや、対話的に流すだけの用途では使わない。 / 確度: 条件付きの関係 / 確認日: 2026-08-01 出典
- PesterはPowerShellを利用します。PesterはPowerShellスクリプトを検証するために書かれたPowerShell用のテストフレームワークである / 確度: 確立した関係 / 確認日: 2026-08-01 出典
- Install-ModuleによるPowerShell Galleryからの導入はPowerShellを前提とします。Install-ModuleはPowerShellのコマンドレットであり、PowerShell Galleryからモジュールを取得する / 確度: 確立した関係 / 確認日: 2026-08-01 出典
- PowerShellは.NET(Core以降)を利用します。PowerShellは.NET基盤のコマンドラインシェル・スクリプト言語で、ファイル操作・バッチ処理・API呼び出しに向く / 確度: 確立した関係 / 確認日: 2026-08-01 出典
- PowerShellは画面操作を伴わない定型のPC作業に対する本記事の推奨です。画面操作が必須でない定型のPC作業には、保守しやすくGitでのバージョン管理にも乗せやすいPowerShellが候補になる / 確度: 条件付きの関係 / 確認日: 2026-08-01 出典
- PowerShellはタスクスケジューラの無人実行を利用します。無人での定時実行を組む場合、PowerShellスクリプトはタスクスケジューラに登録することで、指定した時刻に指定したアカウントの権限で実行できる / 確度: 条件付きの関係 / 確認日: 2026-08-01 出典
- 「PowerShellスクリプトの実行」アクションはPowerShellを利用します。PADの「PowerShellスクリプトの実行」アクションは、内部でWindows PowerShell(powershell.exe)を起動してコードを実行する / 確度: 確立した関係 / 確認日: 2026-08-01 出典
- PnP.PowerShellはPowerShellを前提とします。PnP.PowerShellはSharePoint OnlineやTeamsなどを操作する、コミュニティ製のオープンソースPowerShellモジュールである / 確度: 確立した関係 / 確認日: 2026-08-01 出典
- PowerShellはSecretManagement/SecretStoreモジュールを利用します。PowerShellスクリプトが外部サービスの資格情報を扱う場合、SecretManagementモジュールとSecretStore拡張を使ってシークレットをローカルに暗号化保存できる / 確度: 条件付きの関係 / 確認日: 2026-08-01 出典
- PowerShellはCOM(コンポーネントオブジェクトモデル)を利用します。PowerShellはNew-Object -ComObjectでCOMオブジェクトを作成し、Excelなどを操作できる / 確度: 確立した関係 / 確認日: 2026-08-01 出典
- PowerShellはAdd-Typeを利用します。Add-TypeはC#のソースコードをその場でコンパイルしてPowerShellのセッションに型を追加する / 確度: 確立した関係 / 確認日: 2026-08-01 出典
- PowerShellはNew-Object -ComObjectを利用します。COMオブジェクトはNew-Object -ComObject <ProgId>で作成する / 確度: 確立した関係 / 確認日: 2026-08-01 出典
- PowerShellはWScript.Shellを利用します。ショートカット作成などWSH由来のCOM資産を使いたい場合、WScript.ShellのようなCOMオブジェクトも、New-Object -ComObjectで同様に作成できる / 確度: 条件付きの関係 / 確認日: 2026-08-01 出典
- PowerShellはZipFile/ZipArchive APIを利用します。展開せずに中身を確認するなど、Compress-Archive/Expand-Archiveでは足りない細かいZIP操作をしたい場合は、.NETのZipFile/ZipArchiveクラスを直接呼び出して行う / 確度: 条件付きの関係 / 確認日: 2026-08-01 出典
- PowerShellはパイプラインを利用します。PowerShellの|は、左のコマンドの結果(オブジェクト)を右のコマンドへ渡すパイプラインとして機能する / 確度: 確立した関係 / 確認日: 2026-08-01 出典
- PowerShellはImport-Csv/Export-Csvを利用します。Import-Csv/Export-CsvでCSVを列を持つオブジェクトとして読み書きできる / 確度: 確立した関係 / 確認日: 2026-08-01 出典
- PowerShellはConvertTo-Json/ConvertFrom-Jsonを利用します。ConvertFrom-Json/ConvertTo-JsonでJSONとオブジェクトを相互変換できる / 確度: 確立した関係 / 確認日: 2026-08-01 出典
- PowerShellはPowerShell実行ポリシーを利用します。PowerShellはスクリプトファイルの実行条件を実行ポリシーで制御する / 確度: 確立した関係 / 確認日: 2026-08-01 出典
- PowerShellはGet-WinEventを利用します。Windowsの調査では、Get-WinEventでイベントログをフィルターして取得する / 確度: 確立した関係 / 確認日: 2026-08-01 出典
- PowerShellはGet-Commandを利用します。使えるコマンドが分からないときは、Get-Commandでインストール済みのコマンド・関数・エイリアスを探す / 確度: 確立した関係 / 確認日: 2026-08-01 出典
- PowerShellはFormat-*系コマンドレットを利用します。画面へ見せるための最終表示にはFormat-Table/Format-Listなどを使う / 確度: 確立した関係 / 確認日: 2026-08-01 出典
- PowerShellは.ps1スクリプトファイルを利用します。よく使う処理は、param()で引数を受け取る.ps1スクリプトファイルにまとめる / 確度: 確立した関係 / 確認日: 2026-08-01 出典
- PowerShellはPSCredentialを利用します。PowerShellはユーザー名とパスワードをひとまとめにしたPSCredentialオブジェクトで資格情報を受け渡す / 確度: 確立した関係 / 確認日: 2026-08-01 出典
- PowerShellはSecureStringを利用します。PowerShellはGet-CredentialやSecretManagementなど標準の道具でSecureStringを前提としており、平文文字列で持ち回るよりは露出が減る / 確度: 確立した関係 / 確認日: 2026-08-01 出典
- PowerShellはPowerShellのtry/catchを利用します。PowerShellはtry/catch/finally構文によるエラー処理をサポートする / 確度: 確立した関係 / 確認日: 2026-08-01 出典
- PowerShellはrobocopyを利用します。PowerShellはrobocopyのようなネイティブコマンド(外部プログラム)を呼び出せる / 確度: 確立した関係 / 確認日: 2026-08-01 出典
- PowerShellはImport-Csvを利用します。PowerShellはImport-CsvでCSVをオブジェクトの表として読み込める / 確度: 確立した関係 / 確認日: 2026-08-01 出典
- PowerShellはExport-Csvを利用します。PowerShellはExport-Csvでオブジェクトの列をCSVに書き出せる / 確度: 確立した関係 / 確認日: 2026-08-01 出典
- PowerShellはGroup-Objectを利用します。PowerShellはGroup-Objectでオブジェクトをグループ化できる / 確度: 確立した関係 / 確認日: 2026-08-01 出典
- PowerShellはMeasure-Objectを利用します。PowerShellはMeasure-Objectで件数や合計などを集計できる / 確度: 確立した関係 / 確認日: 2026-08-01 出典
- PowerShellはCompare-Objectを利用します。PowerShellはCompare-Objectで2つの一覧の差分を検出できる / 確度: 確立した関係 / 確認日: 2026-08-01 出典
- PowerShellはハッシュテーブルによる列の引き当て(結合)を利用します。PowerShellはハッシュテーブルを使ってマスタと明細の列を引き当てる結合処理を実装できる / 確度: 確立した関係 / 確認日: 2026-08-01 出典
- PowerShellはGet-FileHashを利用します。PowerShellはGet-FileHashでファイルのハッシュ値を計算できる / 確度: 確立した関係 / 確認日: 2026-08-01 出典
- PowerShellはImportExcelモジュールを利用します。xlsxを直接読み書きしたい場合、PowerShellはPowerShell Galleryで配布されるImportExcelモジュールを追加導入することで読み書きできる / 確度: 条件付きの関係 / 確認日: 2026-08-01 出典
- PowerShellはPowerShell実行ポリシーを利用します。PowerShellはスクリプトの実行可否を実行ポリシーで制御する / 確度: 確立した関係 / 確認日: 2026-08-01 出典
- PowerShellはUnblock-Fileを利用します。PowerShellはUnblock-Fileでダウンロードファイルの実行ブロックを解除できる / 確度: 確立した関係 / 確認日: 2026-08-01 出典
- PowerShellはSet-AuthenticodeSignatureを利用します。PowerShellはSet-AuthenticodeSignatureでスクリプトにAuthenticode署名を付与できる / 確度: 確立した関係 / 確認日: 2026-08-01 出典
- PowerShellはGet-ChildItemを利用します。PowerShellはGet-ChildItemでファイルサーバーの項目を再帰的に列挙できる / 確度: 確立した関係 / 確認日: 2026-08-01 出典
- PowerShellはMeasure-Objectを利用します。PowerShellはMeasure-Objectでファイルサイズなどを集計できる / 確度: 確立した関係 / 確認日: 2026-08-01 出典
- PowerShellはGet-FileHashを利用します。PowerShellはGet-FileHashで重複ファイルの候補をハッシュ値の一致で抽出できる / 確度: 確立した関係 / 確認日: 2026-08-01 出典
- PowerShellはMeasure-Objectを利用します。PowerShellは件数・合計・平均・最大・最小の集計にMeasure-Objectを使う / 確度: 確立した関係 / 確認日: 2026-08-01 出典
- PowerShellはSelect-Objectを利用します。PowerShellは必要な列や値だけを取り出すのにSelect-Objectを使う / 確度: 確立した関係 / 確認日: 2026-08-01 出典
- PowerShellはSort-Objectを利用します。PowerShellは並べ替えと重複除去にSort-Objectを使う / 確度: 確立した関係 / 確認日: 2026-08-01 出典
- PowerShellはGroup-Objectを利用します。PowerShellは種類ごとの分布を見るのにGroup-Objectを使う / 確度: 確立した関係 / 確認日: 2026-08-01 出典
- PowerShellはSelect-Stringを利用します。PowerShellはログの文字列検索にSelect-Stringを使う / 確度: 確立した関係 / 確認日: 2026-08-01 出典
- PowerShellはCompare-Objectを利用します。PowerShellは2つの一覧の差分を見るのにCompare-Objectを使う / 確度: 確立した関係 / 確認日: 2026-08-01 出典
- PowerShellはGet-FileHashを利用します。PowerShellは配布ファイルの同一性確認にGet-FileHashを使う / 確度: 確立した関係 / 確認日: 2026-08-01 出典
- PowerShellはTee-Objectを利用します。PowerShellは画面表示とファイル保存を同時に行うのにTee-Objectを使う / 確度: 確立した関係 / 確認日: 2026-08-01 出典
- PowerShellはStart-Transcriptを利用します。PowerShellは作業ログの記録にStart-Transcriptを使う / 確度: 確立した関係 / 確認日: 2026-08-01 出典
- PowerShellはExport-Csvを利用します。PowerShellは結果を表データとして残すのにExport-Csvを使う / 確度: 確立した関係 / 確認日: 2026-08-01 出典
- PowerShellはInvoke-RestMethodを利用します。PowerShellはJSON APIの呼び出しにInvoke-RestMethodを使う / 確度: 確立した関係 / 確認日: 2026-08-01 出典
- PowerShellはMeasure-Commandを利用します。PowerShellは処理時間の計測にMeasure-Commandを使う / 確度: 確立した関係 / 確認日: 2026-08-01 出典
- PowerShell 7はPowerShellの後継に当たります。Get-Errorのように、PowerShell 7でのみ使えるコマンドレットがある / 確度: 確立した関係 / 確認日: 2026-08-02 出典
- PowerShellはTest-NetConnectionを利用します。PowerShellはTCPポートの疎通確認にTest-NetConnectionを使う / 確度: 確立した関係 / 確認日: 2026-08-01 出典
- PowerShellはGet-WinEventを利用します。PowerShellはイベントログの調査にGet-WinEventを使う / 確度: 確立した関係 / 確認日: 2026-08-01 出典
- PowerShellはRemove-Itemを利用します。PowerShellはファイルなどの削除にRemove-Itemを使う / 確度: 確立した関係 / 確認日: 2026-08-01 出典
- PowerShellはInvoke-RestMethodを利用します。PowerShellでJSON/XMLを扱うREST API連携をするとき、Invoke-RestMethodが基本になる / 確度: 確立した関係 / 確認日: 2026-08-01 出典
- PowerShellはInvoke-WebRequestを利用します。PowerShellからAPIを呼ぶとき、ステータスコードやヘッダーを見たい場合、HTMLをそのまま扱いたい場合はInvoke-RestMethodではなくInvoke-WebRequestを選ぶ / 確度: 条件付きの関係 / 確認日: 2026-08-01 出典
- PowerShellはVBScriptの後継に当たります。MicrosoftはOS・ファイル・共有フォルダ・AD・タスク・インストーラーに触る処理の代替としてPowerShellを推奨しており、VBScriptの後継的な位置付けにある / 確度: 確立した関係 / 確認日: 2026-08-01 出典
- VBA(Visual Basic for Applications)はPowerShellを利用します。ExcelマクロがShell経由でpowershell.exeを起動し、OS・共有フォルダ寄りの処理をPowerShellへ委譲するように置き換えることがある / 確度: 条件付きの関係 / 確認日: 2026-08-01 出典
- PowerShellは攻撃面の減少ルール(ASR)と両立しません。ExcelからPowerShellを起動する置換は、ASRの『Officeアプリによる子プロセス作成のブロック』ルールと衝突し、本番で止まることがある / 確度: 条件付きの関係 / 確認日: 2026-08-01 出典
- PowerShellはPowerShellの実行ポリシーを前提とします。PowerShellスクリプトの実行は実行ポリシーによって制御される / 確度: 確立した関係 / 確認日: 2026-08-01 出典
- PowerShellはAuthenticode署名(PowerShellスクリプト)で構成できます。PowerShellスクリプトはSet-AuthenticodeSignatureで署名を付与し、Get-AuthenticodeSignatureで検証できる / 確度: 確立した関係 / 確認日: 2026-08-01 出典
- PowerShellはAppLockerイベントログで確認できます。AppLockerでスクリプトを制御している場合、置換後のPowerShellスクリプトが許可・監査・ブロックされたかは、AppLockerイベントログ(MSI and Scriptログ)で確認できる / 確度: 条件付きの関係 / 確認日: 2026-08-01 出典
- PowerShellはVBScriptに対する本記事の推奨です。OS・ファイル・共有フォルダ・AD・タスク・インストーラーに触る処理の置換にはPowerShellが本命とされる / 確度: 確立した関係 / 確認日: 2026-08-01 出典
- PowerShellはAppLockerと両立しません。置換後のPowerShellスクリプトは、AppLockerのスクリプトルール(パス・発行者・ハッシュ)次第でブロックされ得るため、ポリシーを先に試験する必要がある / 確度: 条件付きの関係 / 確認日: 2026-08-01 出典
- PowerShellは文字化けを軽減します。PowerShell 6.2以降は-Encodingにcode page番号(CP932なら932)を直接指定でき、Get-ContentとSet-Contentを組み合わせてencodingを変換できる / 確度: 条件付きの関係 / 確認日: 2026-08-01 出典
この概念を扱う記事
一次資料
このページはサイトの知識グラフ(_data/knowledge/)から自動生成されています。誤りの指摘はお問い合わせからお願いします。