Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
about_Functions_Advanced_Parameters
DESCRIZIONE BREVE
Illustra come aggiungere parametri statici e dinamici alle funzioni
che dichiarano l'attributo CmdletBinding.
DESCRIZIONE DETTAGLIATA
È possibile dichiarare i propri parametri quando si scrivono
funzioni ed è possibili scrivere funzioni in modo che possano
accedere ai parametri comuni disponibili ai cmdlet compilati. Per
ulteriori informazioni sui parametri comuni di Windows
PowerShell, vedere about_CommonParameters.
Parametri statici
- È obbligatorio.
- Accetta l'input dalla pipeline.
- Accetta una matrice di stringhe come input.
Param
(
[parameter(Mandatory=$true,
ValueFromPipeline=$true)]
[String[]]
$ComputerName
)
Attributo Parameter
Param
(
[parameter(Position=0)]
[String[]]
$ComputerName
)
Param
(
[parameter(Mandatory=$true,
ParameterSetName="Computer")]
[String[]]
$ComputerName
)
Param
(
[parameter(Mandatory=$true,
ParameterSetName="User")]
[String[]]
$UserName
)
Per ulteriori informazioni sui set di parametri, vedere
l'argomento relativo ai set di parametri dei cmdlet in MSDN
Library all'indirizzo http://go.microsoft.com/fwlink/?LinkId=1
42183 (le informazioni potrebbero essere in lingua inglese).
Param
(
[parameter(Mandatory=$true,
ValueFromPipeline=$true)]
[String[]]
$ComputerName
)
Param
(
[parameter(Mandatory=$true,
ValueFromPipelineByPropertyName=$true)]
[String[]]
$ComputerName
)
Param
(
[parameter(Mandatory=$true,
ValueFromRemainingArguments=$true)]
[String[]]
$ComputerName
)
Param
(
[parameter(Mandatory=$true,
HelpMessage="Una matrice di nomi di computer.")]
[String[]]
$ComputerName
)
Attributo Alias
Param
(
[parameter(Mandatory=$true)]
[alias("CN")]
[String[]]
$ComputerName
)
Param
(
[parameter(Mandatory=$true)]
[String]
[AllowNull()]
$ComputerName
)
Param
(
[parameter(Mandatory=$true)]
[String]
[AllowEmptyString()]
$ComputerName
)
Param
(
[parameter(Mandatory=$true)]
[String[]]
[AllowEmptyCollection()]
$ComputerName
)
Param
(
[parameter(Mandatory=$true)]
[String[]]
[ValidateCount(1,5)]
$ComputerName
)
Param
(
[parameter(Mandatory=$true)]
[String[]]
[ValidateLength(1,10)]
$ComputerName
)
Param
(
[parameter(Mandatory=$true)]
[String[]]
[ValidatePattern("[0-9][0-9][0-9][0-9]")]
$ComputerName
)
Param
(
[parameter(Mandatory=$true)]
[Int[]]
[ValidateRange(0,10)]
$Count
)
Attributo ValidateSet
Param
(
[parameter(Mandatory=$true)]
[String[]]
[ValidateRange("Steve", "Mary", "Carl")]
$UserName
)
Param
(
[parameter(Mandatory=$true)]
[String[]]
[ValidateNotNull()]
$UserName
)
Param
(
[parameter(Mandatory=$true)]
[String[]]
[ValidateNotNullOrEmpty()]
$UserName
)
Parametri dinamici
Per creare un parametro dinamico per una funzione o uno script, utilizzare la
parola chiave Dynamicparam.
La sintassi è la seguente.
function Sample {
Param ([String]$Name, [String]$Path)
DynamicParam
{
if ($path -match "*HKLM*:")
{
$dynParam1 = new-object
System.Management.Automation.RuntimeDefinedParameter("dp1",
[Int32], $attributeCollection)
$attributeCollection = new-object
-Type System.Collections.ObjectModel.Collection``1[System.Attribute]
$attributeCollection.Add($attributes)
$paramDictionary = new-object
System.Management.Automation.RuntimeDefinedParameterDictionary
$paramDictionary.Add("dp1", $dynParam1)
return $paramDictionary
} End if
}
}
VEDERE ANCHE
about_Advanced Functions
about_Functions_Advanced_Methods
about_Functions_CmdletBindingAttribute