Invoke-WebRequest
の進行状況表示を非表示にするにはどうすればよいですか?私は多くの連続したリクエストを行い、私が使用する独自のWrite-Progress
ディスプレイを持っているので、毎回その下にポップアップする組み込みのものを必要としません。
Invoke-WebRequest
の結果から自動的に作成されるmshtmlの結果(IE COMオブジェクト)を使用するため、WebClient
などに切り替えることはできません。そのように、誰かがWebClientリクエストからmshtmlオブジェクトを取得する方法に関する指示を提供しない限り。
$ progressPreference変数を使用します。他の場所で編集していない限り、デフォルトで「継続」の値になっているはずです。これにより、Powershellに進行状況バーが表示されます。独自のカスタム進行状況表示があると述べたので、コマンドレットの実行後すぐにリセットします。例えば:
$progressPreference = 'silentlyContinue' # Subsequent calls do not display UI.
Invoke-WebRequest ...
$progressPreference = 'Continue' # Subsequent calls do display UI.
Write-Progress ...
about_preference_variables にある設定変数の詳細。 $ ProgressPreferenceのエントリは次のとおりです。
$ProgressPreference
-------------------
Determines how Windows PowerShell responds to progress updates
generated by a script, cmdlet or provider, such as the progress bars
generated by the Write-Progress cmdlet. The Write-Progress cmdlet
creates progress bars that depict the status of a command.
Valid values:
Stop: Does not display the progress bar. Instead,
it displays an error message and stops executing.
Inquire: Does not display the progress bar. Prompts
for permission to continue. If you reply
with Y or A, it displays the progress bar.
Continue: Displays the progress bar and continues with
(Default) execution.
SilentlyContinue: Executes the command, but does not display
the progress bar.