- UTF-8 encoding configuration
- Guard variable (
$global:DeployWebDashboardRunning) - Write-Success function with ? icon
- Most icons in Test-Prerequisites updated (?, ?)
function Has-Command {
param([string]$Name)
return [bool](Get-Command $Name -ErrorAction SilentlyContinue)
}- Add IIS PSDrive detection
- Add fallback to ServerManager API
- Change icons to ? for "already exists"
- Add sleep after stopping app pool (500ms)
- Better error handling
- State checking before stopping
- Add IIS PSDrive detection
- Fix SSL certificate binding (use Set-ItemProperty)
- Change icons to ? for warnings
- Add IIS PSDrive detection
- Graceful skip if not available
- Add
$script:WebSiteStartAttemptedguard - Add state checking before starting
- Better error messages with ?
- Change icons to ?/? as appropriate
} finally {
# Ensure guard is always cleared
$global:DeployWebDashboardRunning = $false
}Write-Host ""
Write-Host "? Deployment completed successfully" -ForegroundColor Green
Write-Host ""Since Deploy-WebDashboard.ps1 has the same structure as Deploy-ApiServer.ps1, we can:
- Copy key functions from Deploy-ApiServer.ps1
- Replace references to "Api" with "Web" or "Dashboard"
- Keep the Web-specific configuration
| Deploy-ApiServer.ps1 | Deploy-WebDashboard.ps1 |
|---|---|
| SecureBootDashboard.Api | SecureBootDashboard.Web |
| api.yourdomain.com | dashboard.yourdomain.com |
| API Server | Web Dashboard |
| api-*.log | web-*.log |