PowerShell Universal è una piattaforma per creare strumenti personalizzati basati sul web con PowerShell. Uno dei suoi punti di forza è la possibilità di creare form web per i propri script PowerShell. In questo articolo vedremo tre modi per farlo.
Form web automatici con i parametri degli script
PowerShell Universal può eseguire script ad hoc dalla console di amministrazione. La piattaforma analizza i parametri di base nel blocco param di uno script e presenta un form basato su quei tipi di parametro.
Creare un form con un blocco param
Per prima cosa, crei uno script. Faccia clic su Automation > Scripts, quindi su Create New Script. Per creare un form di base, specifichi un blocco param come farebbe in qualsiasi script PowerShell. Nell’esempio seguente vengono utilizzati diversi tipi di parametro:
param(
$String,
[string]$String2,
[string[]]$StringArray,
[DateTime]$DateTime,
[bool]$Switch,
[int]$Number,
[Switch]$Switch2,
[System.DayOfWeek]$DayOfWeek
)
$String
$String2
$StringArray
$DateTime
$Switch
$Number
$Switch2
$DayOfWeek
Quando fa clic su Run, ottiene un form con campi per ciascun parametro.
Una volta eseguito lo script, vedrà l’output di ciascun parametro nel pannello Output.
Testo della guida
Può includere un testo di guida nei propri form utilizzando la proprietà HelpMessage di ParameterAttribute:
param(
[Parameter(HelpMessage = 'Enter your name')]
$Name
)
$Name
Passi il mouse sul tooltip per visualizzare il messaggio della guida.
Parametri obbligatori
Contrassegni i parametri obbligatori con la proprietà Mandatory di ParameterAttribute:
param(
[Parameter(Mandatory)]
$Name
)
$Name
I parametri obbligatori devono essere compilati prima che lo script possa essere eseguito.
Form web semplici nelle pagine
Le pagine offrono un maggiore controllo sull’esperienza utente. Un form su una pagina esegue uno script o un’API dopo che l’utente ha inserito le proprie informazioni.
Per creare una pagina, faccia clic su User Interfaces > Pages, quindi su Create New Page. Visualizzi la pagina e faccia clic su Edit in alto a destra.
Successivamente, apra Toolbox e vada alla scheda Data Input.
Ridimensioni e riposizioni il form trascinando l’angolo in basso a destra oppure il centro del componente. Faccia clic sul pulsante di modifica blu in alto a destra per modificare le proprietà del form. La prima impostazione da configurare è lo script da eseguire. Ogni campo compilato dall’utente viene passato come parametro a quello script.
Successivamente, definisca i campi della pagina. Sono disponibili 10 tipi di campo tra cui scegliere, comprese caselle di testo, caselle di controllo e menu a tendina.
Una volta definiti i campi, salvi il form e poi la pagina. La pagina risultante conterrà il form. Gli utenti potranno inserire i dati e lo script verrà chiamato.
Form complessi e dinamici nelle dashboard
Le dashboard consentono di creare siti web complessi e dinamici (compresi i form) con PowerShell. Il framework Universal Dashboard offre oltre 70 controlli per siti interattivi. È possibile utilizzare i controlli di input e di form per creare form più avanzati.
Per creare una nuova dashboard, faccia clic su User Interfaces > Dashboards, quindi su Create New Dashboard. Una volta creata, faccia clic sul pulsante dei dettagli. Visualizzerà l’editor di codice per i contenuti dell’interfaccia.
L’esempio seguente è un form multi-step con diverse pagine di controlli di input. Con uno stepper è possibile convalidare l’input, adattare i passaggi in base ai dati dell’utente e chiamare qualsiasi cmdlet PowerShell quando il form viene inviato:
New-UDStepper -Steps {
New-UDStep -OnLoad {
New-UDTextbox -Id 'firstName' -Label "First Name" -Value $EventData.Context.firstName
New-UDTextbox -Id 'lastName' -Label "Last Name" -Value $EventData.Context.lastName
} -Label "Name"
New-UDStep -OnLoad {
New-UDCheckbox -Id 'email' -Label 'Create Email Address'
} -Label "Email"
New-UDStep -OnLoad {
New-UDDatePicker -Id 'startDate' -Label 'Specify a start date for this employee'
} -Label "Start Date"
} -OnFinish {
New-UDTypography -Text 'User has been created!' -Variant h3
New-UDElement -Tag 'div' -Id 'result' -Content {$Body}
}
La dashboard risultante mostra un’unica pagina con lo stepper. Man mano che si procede attraverso i passaggi, i dati vengono raccolti e visualizzati alla fine.
Lo provi personalmente
Può utilizzare gratuitamente l’edizione Developer. Pronto a iniziare a creare? Scarichi PowerShell Universal.

Adam Driscoll