functions/SharedFunctions.ps1
# Shared function for module Function Get-SQLServerFullName($param) { switch ($param) { 9 { return "SQL Server 2005"} 10 { return "SQL Server 2008"} 10.50 { return "SQL Server 2008 R2"} 11 { return "SQL Server 2012"} 12 { return "SQL Server 2014"} 13 { return "SQL Server 2016"} } } <# .Synopsis Connect to SQL Server .DESCRIPTION Function can connect to SQL server with authetication Windows .EXAMPLE Example of how to use this cmdlet .EXAMPLE Another example of how to use this cmdlet #> function Get-SQLServerVersion { [CmdletBinding()] Param ( # Param1 help description [Parameter(Mandatory=$true,ValueFromPipeline=$true)]$ServerInstance ) Begin { } Process { try { $connectsqlserver = New-Object Microsoft.SqlServer.Management.Smo.Server $ServerInstance $connectsqlserver.ConnectionContext.ApplicationName = "DBA PowerShell App" $connectsqlserver.ConnectionContext.ConnectTimeout = 1 Write-Verbose "Connect to server $ServerInstance" if ($connectsqlserver.ConnectionContext.IsOpen -eq $false) { $connectsqlserver.ConnectionContext.Connect() } } catch { Write-Host $_.Exception.Message -ForegroundColor Yellow } finally { $connectsqlserver | Select Name, Product, Edition, ProductLevel, VersionMajor, @{L="VersionName";E={Get-SQLServerFullName $_.versionmajor}}, @{L="Build";E={$_.VersionString}} } } End { Write-Verbose "Disconnect all connection" try { if ($connectsqlserver.ConnectionContext.IsOpen -eq $true) { $connectsqlserver.ConnectionContext.Disconnect() } else { } } catch { Write-Host $_.Exception.Message -ForegroundColor Yellow } } } |