# 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): ```powershell 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](Results.gif) ## 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. * Ensure PowerShell Execution Policies have been sufficiently opened to allow scripts to run. If in doubt (and at own risk), as Administrator run: ```powershell 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 [Ashley Strahle](https://github.com/AshStrahle)