不要显示Add-SPSolution的反馈

时间:2016-02-15 15:32:57

标签: powershell sharepoint

我有一个脚本,我在其中添加解决方案,然后安装它。脚本运行正常,并添加和部署解决方案,它看起来像这样:

param([string]$LiteralPath)

if([string]::IsNullOrEmpty($LiteralPath)){
    Write-Error "ERROR: Please include the path to the WSP file"
    return
}

Add-SPSolution -LiteralPath $LiteralPath -Confirm:$false
Install-SPSolution -Identity {GUID} -GACDeployment -AllWebApplications
Write-Host "Solution added and deployed"

但是因为Add-SPSolution命令在完成后立即输出,我得到以下输出:

Name                           SolutionId                           Deployed
----                           ----------                           --------
{SOLUTION NAME}                {GUID}                               False
Solution added and deployed

虽然有第二行说部署了解决方案,但我想禁用Add-SPSolution的输出,以免导致用户出错。我该怎么办?

编辑我不知道我们可以将Add-SPSolution的输出存储在变量中,the supposed duplicate answer的OP知道这个变量,所以我不知道认为我的问题归类为重复。

2 个答案:

答案 0 :(得分:3)

最好的方法是使用Out-Null,它将加载解决方案但删除不必要的输出。所需的语法是:

  

Add-SPSolution -LiteralPath $ LiteralPath -Confirm:$ false |出空

答案 1 :(得分:1)

如果将其分配给变量,PowerShell不会直接在控制台中输出/返回结果。

示例:

$solution = Add-SPSolution -LiteralPath $LiteralPath -Confirm:$false
$install = Install-SPSolution -Identity {GUID} -GACDeployment -AllWebApplications; 

然后,cmdlet的返回将分配给您的变量,以便您以后可以在需要时访问它们。