Nel*_*ate 2 powershell powershell-2.0
我在PowerShell中编写了一些脚本,我想知道是否有一种方法可以"声明"参数"X",就像声明参数"-Credential"一样,例如在Get-WMIObject cmdlet中.
让我更具体一点.几乎所有cmdlet中的Credential参数都是PSCredential对象.但是,参数可以是PSCredential Object,也可以是带有用户名的String对象.
[CmdletBinding()]
param ([Parameter(Mandatory = $false)]
[System.Management.Automation.PSCredential]
$Credential)
Run Code Online (Sandbox Code Playgroud)
传递字符串时会出现问题.当然,不能对参数进行参数变换.无法将类型"System.String"转换为PSCrendential类型.
尝试一下:
param(
[System.Management.Automation.Credential()]
$Credential=[System.Management.Automation.PSCredential]::Empty
)
Run Code Online (Sandbox Code Playgroud)
至于参数参数转换,请检查这个很棒的脚本: