Ocultar el progreso de Invoke-WebRequest


¿Cómo puedo ocultar la visualización del progreso de Invoke-WebRequest? Hago muchas solicitudes sucesivas y tengo mi propia pantalla Write-Progress que uso, por lo que no necesito que la incorporada aparezca debajo de ella cada vez.

Utilizo los resultados mshtml (el objeto COM IE) que se crean a partir del resultado de Invoke-WebRequest automáticamente, por lo que no puedo cambiar a un WebClient o algo así, a menos que alguien proporcione instrucciones sobre cómo obtener un objeto mshtml de una solicitud WebClient.

Author: qJake, 2013-09-12

1 answers

Utilice la variable prog progressPreference. Debería tener el valor 'Continue' de forma predeterminada, a menos que lo haya editado en otro lugar, lo que indica a Powershell que muestre la barra de progreso. Dado que mencionó que tiene sus propias pantallas de progreso personalizadas, lo restablecería inmediatamente después de que se ejecute el cmdlet. Por ejemplo:

$progressPreference = 'silentlyContinue'    # Subsequent calls do not display UI.
Invoke-WebRequest ...
$progressPreference = 'Continue'            # Subsequent calls do display UI.
Write-Progress ...

Más información sobre las variables de preferencia en about_preference_variables. Aquí está la entrada para Prog 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.
 45
Author: Anthony Neace,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2013-09-12 17:45:40