INDEX
Windows PowerShell
Windows PowerShell
PowerShell は、マイクロソフト社が新たに開発した .NET Framework (および .NET Core )を基盤とするコマンドラインインターフェイス および スクリプト言語。Windows 7 以降では標準搭載されている。
PowerShell Core 6.0 以降は、.NET Framework に代わり .NET Core がランタイムとして使用されるようになり、Windows のほか macOS、Linux でも動作可能となっている。
インストール
- Windows への PowerShell のインストール - PowerShell | Microsoft Learn
Windows パッケージ マネージャーを使用して
パッケージ マネージャー winget コマンドを利用して PowerShell をインストールする。
winget install --id Microsoft.PowerShell --source winget
MSI パッケージのインストール
GitHub からインストール パッケージをダウンロードする。
.NET グローバル ツールとしてインストールする
.NET Core SDK が既にインストールされている場合は、PowerShell を .NET グローバル ツールとしてインストールできます。
dotnet tool install --global PowerShell
Microsoft Store から
Microsoft Store ページからインストールする。
Windows Store パッケージは、ファイルシステムやレジストリへのアクセスが制限されるサンドボックスで実行される。
実行ポリシー
PowerShell は、指定されたスクリプトファイルを実行するかの設定がされている。デフォルトでは、Restricted (制限付き) つまり、「すべてのスクリプトファイルの実行をしない」となっている。
| 実行ポリシー | 説明 |
|---|---|
| Restricted | スクリプトの実行を行わない。 |
| AllSigned | 信頼された発行元によってデジタル署名されている場合のみ実行する。 |
| RemoteSigned | リモートから取得された場合は、デジタル署名されている場合のみ実行する。ローカルに保存されている場合は、すべて実行する。 |
| Unrestricted | 全てのスクリプトを実行します。 |
# 現在の実行ポリシー確認 Get-ExecutionPolicy # 実行ポリシーを「ローカル保存のスクリプト実行可」に設定する Set-ExecutionPolicy RemoteSigned
REM 実行ポリシーを一時的に変更してスクリプト実行 PowerShell.exe -ExecutionPolicy RemoteSigned .\test.ps1
Invoke-WebRequest
Windows PowerShell の Invoke-WebRequest で、IE (MSHTML/Trident) 上で、スクリプト実行・DOMの解析 が行われる。
2025年12月のセキュリティパッチで、引数「-UseBasicParsing」を明示的に与えない(IE が使用される)場合、実行前に警告プロンプトが表示されるように仕様が変更される。
Windows PowerShell 3.0 〜 5.1 までが対象。クロスプラットフォーム対応となる PowerShell 6.0 以降は、IEに依存しない(構文解析などがサポートされていない)。
- PowerShell 5.1: Web コンテンツからのスクリプト実行の防止 - Microsoft サポート
- 「Windows PowerShell 5.1」に「IE」要素排除のための仕様変更 - 窓の杜
最終更新時間:2025年12月13日 19時56分49秒 指摘や意見などあればSandBoxのBBSへ。