在Powershell中请求参数的正确方法

时间:2015-01-13 16:55:32

标签: function powershell parameters

我试图找出在不使用函数的情况下在PowerShell脚本中请求参数的正确方法。使用以下示例脚本,如果我在函数中不包含Param,则会出现错误。

#Add SharePoint PowerShell SnapIn if not already added
if ((Get-PSSnapin "Microsoft.SharePoint.PowerShell" -ErrorAction SilentlyContinue) -eq $null) {
Add-PSSnapin "Microsoft.SharePoint.PowerShell"
}

function SomeFunctionName
{

Param(
[Parameter(Mandatory=$true)]
[string]$CollectionUrl,
[Parameter(Mandatory=$true)]
[string]$SourceList,
[Parameter(Mandatory=$true)]
[string]$DestList,
[Parameter(Mandatory=$true)]
[string]$ExpireDays
) # END PARAMS


#DO SOMETHING WITH THE PARAMETERS

}

如果我删除“功能”和周围的括号只是尝试直接在脚本中请求参数我得到以下错误:

  

表达式中缺少关闭')'。

1 个答案:

答案 0 :(得分:2)

您需要在If / Add-PSSnapin之前将param(...)块放在脚本的顶部。你可以在param之前有注释,但没有其他脚本。