Files
PowerShellBlazor/docs
2022-08-23 20:03:49 +10:00
..
2022-08-23 20:03:49 +10:00
2022-08-23 19:25:43 +10:00

PowerShell Blazor Portal

Execute PowerShell scripts via .Net Blazor Server WebApp with real-time output

Useful for automation and user accessibility, this is a working .NET Blazor Server WebApp that asynchronously executes PowerShell scripts, and writes the Output, Information, Progress, Warning, and Error streams in real-time.

test.ps1 (included in this project):

for ($i=1; $i -le 5; $i++) {
    Write-Progress "Loop $i - progress output (Write-Progress)"
    Write-Information "Here's some information (Write-Information)"
    Write-Output "Normal output text (Write-Output)"
    Write-Warning "Here's some warning text (Write-Warning)"
    Write-Error "Oh no, here's some error text (Write-Error)"
    Start-Sleep -s 1
}

Looks like this...

Results

Prerequisites

  • PowerShell scripts must be non-interactive; there's no means to provide input back to PowerShell scripts once they're running.

  • Output must be written using Write-Output, Write-Information, Write-Progress, Write-Warning, or Write-Error only. Output written with Write-Host cannot be captured and hence won't display in the results window.

  • Ensure PowerShell Execution Policies has been sufficiently opened to allow your scripts to run. If in doubt (and at own risk), as Administrator run:

    Set-ExecutionPolicy Unrestricted -Scope CurrentUser
    Set-ExecutionPolicy Unrestricted -Scope Process

Note: for Visual Studio users, execute the above in Package Manager Console

  • Place your PowerShell scripts in ~/Scripts/. .NET requires the path to be relative to the project, hence this location.

Author