MAIN MENU
Blog de Devolutions

Anuncios, actualizaciones y análisis de Devolutions.

PowerShell Universal Dynamic Forms for the Devolutions blog.

Crear formularios web para scripts de PowerShell en PSU

PowerShell Universal convierte scripts en formularios web. Esta entrada cubre formularios automáticos desde parámetros de script, formularios configurables en Pages y formularios dinámicos de varios pasos con steppers de Universal Dashboard.

PowerShell Universal es una plataforma para crear herramientas web personalizadas con PowerShell. Una de sus fortalezas es la posibilidad de crear formularios web para sus scripts de PowerShell. En esta entrada veremos tres formas de hacerlo.

Formularios web automáticos con parámetros de script

PowerShell Universal puede ejecutar scripts ad hoc desde la consola de administración. La plataforma analiza los parámetros básicos del bloque param de un script y presenta un formulario según esos tipos de parámetros.

Crear un formulario con un bloque param

Primero, cree un script. Haga clic en Automation > Scripts y luego en Create New Script. Para un formulario básico, especifique un bloque param como en cualquier script de PowerShell. En el ejemplo siguiente usamos varios tipos de parámetros:

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

Cuando haga clic en Run, obtendrá un formulario con campos para cada parámetro.

PowerShell Universal script run dialog showing auto-generated fields for each param.
Parámetros de script de PowerShell Universal

Una vez ejecutado el script, verá la salida de cada parámetro en el panel Output.

Texto de ayuda

Puede incluir texto de ayuda en sus formularios con la propiedad HelpMessage de ParameterAttribute:

param(
    [Parameter(HelpMessage = 'Enter your name')]
    $Name
)

$Name

Pase el cursor sobre el tooltip y aparecerá el mensaje de ayuda.

PowerShell Universal script form tooltip showing HelpMessage text for a parameter.
Ayuda de script de PowerShell Universal

Parámetros obligatorios

Marque los parámetros obligatorios con la propiedad Mandatory de ParameterAttribute:

param(
    [Parameter(Mandatory)]
    $Name
)

$Name

Los parámetros obligatorios deben rellenarse antes de poder ejecutar el script.

PowerShell Universal script form highlighting a mandatory parameter before run.
Parámetros obligatorios de PowerShell Universal

Formularios web sencillos en Pages

Las Pages le dan más control sobre la experiencia del usuario. Un formulario en una página ejecuta un script o una API después de que el usuario introduce su información.

Para crear una página, haga clic en User Interfaces > Pages y luego en Create New Page. Visualice la página y haga clic en Edit en la parte superior derecha.

PowerShell Universal page editor with Edit available in the top right.
Edición de página de PowerShell Universal

A continuación, abra Toolbox y vaya a la pestaña Data Input.

PowerShell Universal page toolbox open on the Data Input tab with a form.
Formulario de página de PowerShell Universal

Cambie el tamaño y la posición del formulario arrastrando la esquina inferior derecha o el centro del componente. Haga clic en el botón de edición azul de la parte superior derecha para cambiar las propiedades del formulario. La primera opción que debe configurar es el script que se ejecutará. Cada campo que rellene el usuario se pasa como parámetro a ese script.

A continuación, defina los campos de su página. Hay 10 tipos de campo entre los que elegir, incluidos cuadros de texto, casillas de verificación y listas de selección.

PowerShell Universal form field editor listing available input field types.
Campos de formulario de PowerShell Universal

Cuando haya definido los campos, guarde el formulario y después la página. La página resultante contiene el formulario. Los usuarios pueden introducir datos y se llama al script.

PowerShell Universal finished page showing a ready-to-use web form.
Formulario de página de PowerShell Universal

Formularios dinámicos complejos en paneles

Los paneles permiten crear sitios web complejos y dinámicos (incluidos formularios) con PowerShell. El framework Universal Dashboard ofrece más de 70 controles para sitios interactivos. Puede usar los controles de entrada y de formulario para crear formularios más avanzados.

Para crear un panel nuevo, haga clic en User Interfaces > Dashboards y luego en Create New Dashboard. Cuando exista, haga clic en el botón de detalles. Verá el editor de código para el contenido de la interfaz.

El ejemplo siguiente es un formulario de varios pasos con varias páginas de controles de entrada. Con un stepper, puede validar la entrada, ajustar los pasos según los datos del usuario y llamar a cualquier cmdlet de PowerShell al enviar el formulario:

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}
}

El panel resultante muestra una sola página con el stepper. A medida que avanza por los pasos, se recopilan los datos y se muestran al final.

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

Pruébelo usted mismo

Puede usar la edición Developer de forma gratuita. ¿Listo para crear? Descargue PowerShell Universal.