Powershell – получение редакции SQL сервера
Совершенно случайно возникла необходимость собрать данные по установленным SQL серверам.
Через SCCM собрали то что поставлено, но вот получить редакции установленных серверов не получилось, после чтения документации нашлось следующее
выполнять руками на всех серверах показалось как то «не спортивно»…
в результате некоторых мучений (минут 10) получился следующий код
Этот powershell-скрипт собирает редакции, версию и сервис-пак SQL по серверам указанным в файле servers.txt
param (
[string] $SQLSERVER
)
Write-Host -ForegroundColor "white" Check server : -NoNewline
Write-Host -ForegroundColor "Red" $SQLSERVER
$SqlConnection = New-Object System.Data.SqlClient.SqlConnection
$SqlConnection.ConnectionString = "Server=$SQLSERVER;Database=$Database;Integrated Security=True"
$SqlCmd = New-Object System.Data.SqlClient.SqlCommand
$SqlCmd.Connection = $SqlConnection
$SqlAdapter = New-Object System.Data.SqlClient.SqlDataAdapter
$SqlCmd.CommandText = "SELECT SERVERPROPERTY(‘servername’), SERVERPROPERTY(‘productversion’), SERVERPROPERTY (‘productlevel’), SERVERPROPERTY (‘edition’)"
$SqlAdapter.SelectCommand = $SqlCmd
$DataSet = New-Object System.Data.DataSet
try {
$SqlAdapter.Fill($DataSet)
} catch {
Write-Host "Error"
}
$content = $DataSet.Tables[0] | Format-Table -Auto | out-string
return $content
$SqlConnection.Close()
}
clear-host
$servers = get-content "servers.txt"
foreach ($server in $servers) {
$result = getData $server
Write-Host $result
Add-Content -Path "result.txt" $result
}
соответственно ему скормили файл servers.txt и на выходе получили
Column1 Column2 Column3 Column4 ------- ------- ------- ------- SQL01 8.00.2187 SP4 Enterprise Edition
Похожие статьи
Информация об авторе
|
|
Сергей Мариничев. Вы можете присоединиться ко мне в Facebook или в Twitter. |
А также бесплатно подписаться по E-mail и получать актуальную информацию в числе первых.
Вы можете оставить комментарий.