【问题标题】:Don't show feedback from Add-SPSolution不显示来自 Add-SPSolution 的反馈
【发布时间】:2016-05-26 14:08:27
【问题描述】:

我有一个脚本,我在其中添加了一个解决方案,然后安装它。脚本运行良好,添加并部署了解决方案,如下所示:

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 知道这个变量,所以我认为我的问题没有被归类为重复.

【问题讨论】:

标签: powershell sharepoint


【解决方案1】:

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

添加-SPSolution -LiteralPath $LiteralPath -Confirm:$false |外空

【讨论】:

    【解决方案2】:

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

    例子:

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

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

    【讨论】:

    • 它有效,谢谢!顺便说一句,我在哪里可以找到返回到 $solution 变量中的对象的 API?我想查看我可以访问的方法的说明。
    • 这是 SPSolution 对象 (msdn.microsoft.com/en-us/library/…)。如果您不想查找 API 或找不到 API,您可以随时将对象通过管道传递给 Get-member cmdlet,以查看对象上可用的变量和函数。示例:$ 解决方案 |获取会员
    猜你喜欢
    • 1970-01-01
    • 2020-01-08
    • 2018-07-02
    • 1970-01-01
    • 2015-03-16
    • 2012-08-27
    • 2020-09-09
    • 2011-02-10
    • 2015-03-15
    相关资源
    最近更新 更多