我试图找出在不使用函数的情况下在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
}
如果我删除“功能”和周围的括号只是尝试直接在脚本中请求参数我得到以下错误:
表达式中缺少关闭')'。
答案 0 :(得分:2)
您需要在If / Add-PSSnapin之前将param(...)块放在脚本的顶部。你可以在param之前有注释,但没有其他脚本。