Parámetro obligatorio de PowerShell con valor predeterminado

Rohan Timalsina 21 junio 2023
Parámetro obligatorio de PowerShell con valor predeterminado

El parámetro es una característica fundamental de un script de PowerShell. Son útiles para recibir información de los usuarios en el tiempo de ejecución del script.

En PowerShell, los parámetros se usan en scripts y funciones encerrándolos en un bloque param. Este tutorial le enseñará a mostrar valores predeterminados en un parámetro obligatorio en PowerShell.

Parámetro obligatorio de PowerShell con valor predeterminado mostrado

El parámetro obligatorio no tiene los valores predeterminados en PowerShell. Dado que los parámetros pueden tener cualquier nombre, puede incluir el valor predeterminado en los nombres para mostrar en los parámetros obligatorios.

Los parámetros se usan más comúnmente en las funciones de PowerShell. El siguiente es un ejemplo simple del uso de parámetros en una función.

function Test
{
    param
    (
        $Username = $(Read-Host -Prompt 'Enter your username'),
        $ID = $(Read-Host -Prompt 'Enter your ID')
    )
    "Your username is $Username and ID is $ID."
}
Test

Producción :

Enter your username: rhntm
Enter your ID: 123
Your username is rhntm and ID is 123.

En el siguiente ejemplo, se utilizan dos parámetros obligatorios, Username[rhntm] e ID[123], donde el valor entre llaves funciona como valor predeterminado.

function Test {
    param (
        [Parameter(Mandatory=$true)]
        ${Username[rhntm]},
        [Parameter(Mandatory=$true)]
        ${ID[123]}
    )
    $Username = if (${Username[rhntm]}) {${Username[rhntm]}}
        else {
            'rhntm'
        }
    $ID = if (${ID[123]}) {
            ${ID[123]}
        } else {
            123
        }
       "Your username is $Username and ID is $ID."

}
Test

Producción :

cmdlet Test at command pipeline position 1
Supply values for the following parameters:
Username[rhntm]: sam
ID[123]: 456
Your username is sam and ID is 456.

Como puede ver, la salida se parece exactamente a lo que queremos hacer. Si no se dan valores, utiliza el valor predeterminado.

Producción :

cmdlet Test at command pipeline position 1
Supply values for the following parameters:
Username[rhntm]:
ID[123]:
Your username is rhntm and ID is 123.

Esperamos que este artículo lo haya guiado para mostrar valores predeterminados en parámetros obligatorios en PowerShell.

Rohan Timalsina avatar Rohan Timalsina avatar

Rohan is a learner, problem solver, and web developer. He loves to write and share his understanding.

LinkedIn Website

Artículo relacionado - PowerShell Parameter