Skip to content

Instantly share code, notes, and snippets.

@taddison
Created June 8, 2020 21:44
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save taddison/70dca16d23b97c1d8cdc5c8ed1ba61bc to your computer and use it in GitHub Desktop.
Save taddison/70dca16d23b97c1d8cdc5c8ed1ba61bc to your computer and use it in GitHub Desktop.
Powershell dependencies for SQLChecks
$majorVersion = $PSVersionTable.PSVersion.Major
$pesterModules = Get-Module -ListAvailable -Name Pester
$sqlserverModules = Get-Module -ListAvailable -Name SqlServer
$versionOk = $majorVersion -ge 7
$pesterOk = ($pesterModules | Where-Object { $_.Version.Major -eq 4 -and $_.Version.Minor -ge 10 } | Measure-Object).Count -ge 1
$sqlServerOk = ($sqlserverModules | Where-Object { $_.Version.Major -ge 21 -and $_.Version.Minor -ge 1 } | Measure-Object).Count -ge 1
if($versionOk -and $pesterOk -and $sqlServerOk) {
Write-Output "All dependencies ok"
} else {
if(-not $versionOk) {
Write-Warning "PowerShell version is below recommended version, found $majorVersion wanted 7"
Write-Host
Write-Host "To correct, install the latest version from GitHub"
Write-Host -ForegroundColor Yellow "https://github.com/PowerShell/PowerShell/releases/latest"
Write-Host
}
if(-not $pesterOk) {
Write-Warning "Pester version is not correct - expected to find Pester version 4.10+"
Write-Host
Write-Host "To correct, run the following command in an Administrator shell"
Write-Host -ForegroundColor Yellow "Install-Module -Name Pester -RequiredVersion 4.10.1 -SkipPublisherCheck"
Write-Host -ForegroundColor Red "Do NOT install and attempt to use Pester v5+"
Write-Host
}
if(-not $sqlserverOk) {
Write-Warning "SqlServer version is not correct - expected to find SqlServer version 21.1 or above"
Write-Host
Write-Host "To correct, run the following command in an Administrator shell"
Write-Host -ForegroundColor Yellow "Install-Module -Name SqlServer -RequiredVersion 21.1.18221"
Write-Host
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment