我有一个脚本,我在其中添加解决方案,然后安装它。脚本运行正常,并添加和部署解决方案,它看起来像这样:
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知道这个变量,所以我不知道认为我的问题归类为重复。
答案 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的返回将分配给您的变量,以便您以后可以在需要时访问它们。