powershell ParameterSet解析 自定义PowerShell函数,在设置参数的时候中,可以将参数设置为某些情况下可选,某些条件下又设置为必选。 示例代码从网站复制的。 1functionConnect-Somewhere2{3[CmdletBinding(DefaultParameterSetName='A')]4param5(6[Parameter(Parameter
例如我们为一个Ping功能Function设定了两个参数,一个叫ComputerName,一个叫IPAddress.如果你不使用参数互斥,那么使用的时候有可能会出现又指定ComputerName又指定IPAddress的情况.那到底是Ping计算机名还是IP地址呢?正确使用了参数互斥:ParameterSetName就可以很好的解决问题. 目标 输入姓名和年龄后,直接在显示 某某 今年 ...
自动变量$PSCmdlet提供ParameterSetName属性。 此属性包含正在使用的参数集的名称。 可以在函数中使用此属性来确定哪个参数集用于选择特定于参数集的行为。 PowerShell functionGet-ParameterSetName{ [CmdletBinding(DefaultParameterSetName ='Set1')]param( [Parameter(ParameterSetName ='Set1', Position =0)]$Var1...
function Get-Sample { [CmdletBinding()] param([string]$Name, [string]$Path) dynamicparam { if ($Path.StartsWith("HKLM:")) { $parameterAttribute = [System.Management.Automation.ParameterAttribute]@{ ParameterSetName = "ByRegistryPath" Mandatory = $false } $attributeCollection = ...
Wouldn’t it be great if the PowerShell team thought about such a circumstance and give you a mechanism to specify which parameterset to pick if things were ambiguous? OH WAIT – they did! function test-param { [CmdletBinding(DefaultParametersetName=”p2″)] ...
function Test-MrParameterValidation { [CmdletBinding()] param ( [Parameter(Mandatory)] [string[]]$ComputerName ) Write-Output $ComputerName } 如果没有指定 ComputerName 参数,也许要为其指定一个默认值。问题是,默认值不能与强制性参数一起使用。 取而代之的是使用带有默认值的 ValidateNotNullOrEmpty ...
function inc ([parameter(ValueFromPipeline)]$x) {return $x + 1} Write-Host (3 | inc) #输出为:4 五、使用引用 函数参数可使用引用类型,使用引用类型之后便可以在函数中修改外部变量的数值。 在参数前使用[ref]指定使用引用类型。如function f ([ref]$x)。传参时,要求把传入数值转换为引用类型,转换...
FunctionTest-ScriptCmdlet{ [CmdletBinding(SupportsShouldProcess=$True)]Param($Parameter1)begin{}process{}end{} } 备注 这些块适用于所有函数,而不仅仅是使用CmdletBinding属性的函数。 begin 此块用于为函数提供可选的一次性预处理。 PowerShell 运行时会为管道中函数的每个实例使用此块中的代码一次。
Function Set-SPExcelFileLocation HelpFile: C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions \14\CONFIG\PowerShell\Help\microsoft.office.access.server.dll-help.xml Get-SPAccessServiceApplication New-SPAccessServiceApplication Set-SPAccessServiceApplication HelpFile: C:\Program Files\...
Set-PSReadLineOption-Colors@{ Command ='Magenta'Number ='DarkGray'Member ='DarkGray'Operator ='DarkGray'Type ='DarkGray'Variable ='DarkGreen'Parameter ='DarkGreen'ContinuationPrompt ='DarkGray'Default ='DarkGray'} 示例5:设置多种类型的颜色值 ...