MAIN MENU
Blog di Devolutions

Annunci, aggiornamenti e approfondimenti di Devolutions.

PowerShell Universal Dynamic Forms for the Devolutions blog.

Creare form web per script PowerShell in PSU

PowerShell Universal consente di trasformare gli script in form web. Questo articolo illustra i form automatici generati dai parametri degli script, i form configurabili nelle pagine e i form dinamici multi-step con gli stepper di Universal Dashboard.

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.

PowerShell Universal script run dialog showing auto-generated fields for each param.
Parametri di script di PowerShell Universal

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.

PowerShell Universal script form tooltip showing HelpMessage text for a parameter.
Guida degli script di PowerShell Universal

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.

PowerShell Universal script form highlighting a mandatory parameter before run.
Parametri obbligatori di PowerShell Universal

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.

PowerShell Universal page editor with Edit available in the top right.
Modifica di una pagina di PowerShell Universal

Successivamente, apra Toolbox e vada alla scheda Data Input.

PowerShell Universal page toolbox open on the Data Input tab with a form.
Form di pagina di PowerShell Universal

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.

PowerShell Universal form field editor listing available input field types.
Campi di form di PowerShell Universal

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.

PowerShell Universal finished page showing a ready-to-use web form.
Form di pagina di PowerShell Universal

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.

PowerShell Universal dashboard stepper collecting multi-step form input.
Stepper di dashboard di PowerShell Universal

Lo provi personalmente

Può utilizzare gratuitamente l’edizione Developer. Pronto a iniziare a creare? Scarichi PowerShell Universal.