仅安装PowerShell PackageProvider和Module(如果尚未安装)

时间:2018-05-18 00:04:28

标签: sql-server powershell octopus-deploy

我已经将以下Powershell脚本作为Octopus Deploy的一部分运行。

但是,如果尚未安装它们,我只希望它们安装。

我已安装它们,最好只安装它们,如果它们低于某个版本。

有人可以建议这样做的最佳方法吗?

Install-PackageProvider -Name NuGet -MinimumVersion 2.8.5.201 -Confirm:$False -Force 

Install-Module -Name SqlServer -AllowClobber -Confirm:$False -Force  

1 个答案:

答案 0 :(得分:2)

这样的事情应该有效:

if (Get-Module -ListAvailable -Name SqlServer) {
    Write-Host "SQL Already Installed"
} 
else {
    try {
        Install-Module -Name SqlServer -AllowClobber -Confirm:$False -Force  
    }
    catch [Exception] {
        $_.message 
        exit
    }
}


if ((Get-PackageProvider -Name NuGet).version -lt 2.8.5.201 ) {
    try {
        Install-PackageProvider -Name NuGet -MinimumVersion 2.8.5.201 -Confirm:$False -Force 
    }
    catch [Exception]{
        $_.message 
        exit
    }
}
else {
    Write-Host "Version of NuGet installed = " (Get-PackageProvider -Name NuGet).version
}