Powershell – получение редакции SQL сервера

powershell logoСовершенно случайно возникла необходимость собрать данные по установленным SQL серверам.

Через SCCM собрали то что поставлено, но вот получить редакции установленных серверов не получилось, после чтения документации нашлось следующее

SELECT  SERVERPROPERTY(‘productversion’), SERVERPROPERTY (‘productlevel’), SERVERPROPERTY (‘edition’)

выполнять руками на всех серверах показалось как то «не спортивно»…

в результате некоторых мучений (минут 10) получился следующий код

Этот powershell-скрипт собирает редакции, версию и сервис-пак SQL по серверам указанным в файле servers.txt

function getData {
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.

Если Вам понравилась статья, то вы можете подписаться на RSS.
А также бесплатно подписаться по E-mail и получать актуальную информацию в числе первых.

Получать обновления на email

Вы можете оставить комментарий.

Добавить комментарий

XHTML: Вы можете использовать тэги: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>