PowerShellスクリプトに一時停止(ポーズ)を追加する方法【具体例つき】
この記事では、PowerShellスクリプトに一時停止(ポーズ)を追加する方法を解説します。
一時停止や待機コマンドを追加する方法はいくつかあります。以下では、それぞれの方法を具体例とともにわかりやすく紹介していきます。

PowerShellスクリプトに一時停止を追加する基本の方法
最も基本的なのは、Start-Sleepコマンドレットを使う方法です。以下の手順で追加できます。
- スタートメニューから「PowerShell ISE」を開きます
- 一時停止コマンドを追加したいPowerShellスクリプトを開きます
- 一時停止させたい箇所に、start-sleep -Seconds 5という行を追加します(数字の「5」は、スクリプトを止めておきたい秒数に置き換えてください)

- 上記の例では、3行目に待機コマンドを追加しています
- PowerShellスクリプトを保存します
- PowerShellスクリプトを実行します
Start-Sleepコマンドの構文は以下の2種類です。
Start-Sleep -seconds
Start-Sleep -milliseconds
使用例
Start-Sleep -seconds 1.5(1.5秒間スリープ)
Start-Sleep -seconds 5(5秒間スリープ)
Start-Sleep -seconds 15(15秒間スリープ)
Start-Sleep -milliseconds 1.5(1.5ミリ秒間スリープ)
Start-Sleep -milliseconds 5(5ミリ秒間スリープ)
Start-Sleep -milliseconds 15(15ミリ秒間スリープ)
カウントダウン表示付きの一時停止を追加する方法
ここでは、カウントダウン表示付きで一時停止を追加する方法を紹介します。カウントダウン中に任意のキーを押すとカウントダウンが中断され、そのままスクリプトの実行が再開されるのが特徴です。
以下の手順で追加できます。
- スタートメニューから「PowerShell ISE」を開きます
- 一時停止コマンドを追加したいPowerShellスクリプトを開きます
- 一時停止させたい箇所に、timeout /t 15という行を追加します(数字の「15」は、一時停止させたい秒数に置き換えてください)

- PowerShellスクリプトを保存します
- PowerShellスクリプトを実行します
timeoutコマンドを実行すると、画面には以下のように表示されます。

代替方法
上記のtimeout /t 15を、次のコードに置き換えることもできます。
1..60 | ForEach {
Start-Sleep -s 1
Write-Progress -activity "タイマー開始:" -Status $_
}
この方法では、下図のように少し異なる形式でカウントダウンタイマーが表示されます。
上記のスクリプトは、1秒ごとに合計60秒間カウントダウンします。「60」の部分を、カウントダウンさせたい秒数に置き換えてください。

ポップアップメッセージ付きの一時停止を追加する方法
この方法では、PowerShellスクリプトに一時停止コマンドを追加しつつ、メッセージをポップアップウィンドウとして表示します。一般的には、.NET FrameworkのSystem.Windows.Formsアセンブリを読み込み、MessageBoxクラスを使ってダイアログを表示します。
以下の手順で追加できます。
- スタートメニューから「PowerShell ISE」を開きます
- 一時停止コマンドを追加したいPowerShellスクリプトを開きます
- ポップアップ表示用のコードを追加します
- PowerShellスクリプトを保存します
- PowerShellスクリプトを実行します
実行すると、以下のようにポップアップウィンドウが表示されます。

プログレスバーを表示しながらPowerShellをスリープさせる方法
これは筆者のお気に入りの方法です。プログレスバーを表示しながらPowerShellをスリープさせることができ、処理の進行状況がひと目でわかるのが魅力です。
以下の手順で追加できます。
- スタートメニューから「PowerShell ISE」を開きます
- 一時停止コマンドを追加したいPowerShellスクリプトを開きます
- 以下の太字のコードを追加します
For ($i=0; $i -le 100; $i++) {
Start-Sleep -Milliseconds 20
Write-Progress -Activity "Sleeping For 20 Seconds" -Status "StatusString" -PercentComplete $i -CurrentOperation "CurrentOperationString"
} - 数字の「20」を、スクリプトをスリープさせたい秒数に置き換えます
- "Sleeping For 20 Seconds"の部分は、表示したい任意の文字列に変更できます
- PowerShellスクリプトを保存します
- PowerShellスクリプトを実行します
プログレスバーの実際の表示は以下のようになります。

-
Windows PowerShellスクリプトの実行を有効/無効にする方法【グループポリシー・レジストリ対応】
Windows 10でWindows PowerShellのスクリプト実行をオンまたはオフに切り替えたい場合は、この記事の手順に従ってください。ここでは、レジストリエディターとローカルグループポリシーエディターを使用して、この機能を有効化・無効化する方法を詳しく解説します。 Windows PowerShellは、Windows OSに標準搭載されている非常に便利で重要なツールです。スクリプトには主に2種類あります。1つは信頼された発行元によって署名されたスクリプト、もう1つはローカルスクリプトです。ローカルスクリプトとは自分のPC上で作成したスクリプトのことで、もう一方は特定のタスクを実行す
-
Windows 10のコンテキストメニューにPowerShellを追加する方法
```html Windows 10のコンテキストメニューとは Windows 10におけるコンテキストメニューとは、マウスを右クリックしたときに表示されるGUI(グラフィカルユーザーインターフェース)のメニューです。表示される項目は、クリックした対象(ファイル・フォルダー・デスクトップなど)やアプリケーションによって異なり、その場で必要な操作をすばやく実行できる便利なショートカットとして機能します。 よく使うツールをこのメニューに登録しておけば、日々の作業効率が大きく向上します。本記事では、Windows 10のコンテキストメニューにPowerShellを追加する方法を、レジストリエディター