转:http://www.xuebuyuan.com/168337.html

提供wsp部署的参数:

$wsppath:wsp文件所在的路径,如“c:\”

$wspnames:路径下的所有wsp文件名用逗号隔开,如“sumhtestwsp.wsp,sumhtestwsp123.wsp,sumhtestwsp456.wsp,sumhtestwsp789.wsp”

$allwebapp:是否要全局部署,如“$True”,true是要全局部署$webId:$allwebapp为“$False”,那么就需要输入指定应用程序的Guid

 

方法:

function deployWSP([string] $wsppath,[string] $wspnames,[bool] $allwebapp,[Guid] $webId)

{

    $PSSnapinSharePoin = Get-PSSnapin Microsoft.SharePoint.PowerShell -ErrorAction silentlycontinue

    if( $PSSnapinSharePoin -eq $Null)

    {

        Add-PSSnapin Microsoft.SharePoint.PowerShell;

    }

    foreach($wspname in $wspnames.split(','))

    {

        $gspsolution = Get-SPSolution -Identity $wspname -ErrorAction silentlycontinue

        if($gspsolution -eq $null)

        { 

            Add-SPSolution -LiteralPath $wsppath.Insert($wsppath.Length,$wspname)

        }

        if($allwebapp)

        {

            if(!$gspsolution.Deployed)

            {

                 Install-SPSolution -Identity $wspname -GACDeployment -AllWebApplications

            }

        }

        else

        {

            if(!$gspsolution.Deployed)

            {

                Install-SPSolution -Identity $wspname -GACDeployment -WebApplication $webId

            }

        }

    }

}    

例如

deployWSP -wsppath “c:\” -wspnames “sumhtestwsp.wsp,sumhtestwsp123.wsp,sumhtestwsp456.wsp” -allwebapp $true

 

posted on 2014-01-07 23:56  jackljf  阅读(213)  评论(0编辑  收藏  举报