Идея поиска экземпляров SQL Server с использованием скрипта Powershell - PullRequest
0 голосов
/ 25 июня 2018

Описание: у меня есть один оконный сервер, на котором запущены разные версии серверов MS SQL, и когда я запускаю ниже сценария оболочки питания, он отображает нижеприведенный результат, но мне нужно добавить версию SQL Server, например, с именем SQL Server 2014, SQL Server2008 ...

Я работаю под сценарием PowerShell, чтобы получить подробности

[System.Data.Sql.SqlDataSourceEnumerator]::Instance.GetDataSources()

Вывод сценария PowerShell:

ServerName          InstanceName         IsClustered       Version
----------          ------------         -----------       -------------
hostname1                                   No             11.0.3000.0
hostname2           RAMTEST                 No             11.0.3000.0

Мне нужно добавить еще один столбец сИмя SQL Server в зависимости от версии.Пожалуйста, предложите

1 Ответ

0 голосов
/ 25 июня 2018

См. Ниже. Вы можете добавить другие два столбца, если необходимо.Я удалил их из-за нулей.Но не стесняйтесь проверять NULL и заменять на любое значение, которое считаете нужным.Я проверил это, и это работает.

$ServerList  = [System.Data.Sql.SqlDataSourceEnumerator]::Instance.GetDataSources() | Select ServerName, IsClustered, Version, InstanceName

$ServerList | foreach { 
$i = $i - 1
    if ($_.Version -like "14.0.*" )         { $Versionresult ="SQL Server 2017"   }  
elseif ($_.Version -like "13.0.*" )         { $Versionresult ="SQL Server 2016"   } 
elseif ($_.Version -like "12.0.*" )         { $Versionresult ="SQL Server 2014"   }
elseif ($_.Version -like "11.0.*" )         { $Versionresult ="SQL Server 2012"   }  
elseif ($_.Version -like "10.50.*")         { $Versionresult ="SQL Server 2008 R2"}  
elseif ($_.Version -like "10.00.*")         { $Versionresult ="SQL Server 2008"   }
elseif ($_.Version -like "9.00.*" )         { $Versionresult ="SQL Server 2005"   } 
elseif ($_.Version -like "8.00.*" )         { $Versionresult ="SQL Server 2000"   } 

$table = [PSCustomObject] @{"ServerName" = $_.ServerName ; "IsClustured" = $_.IsClustered ;"Version" = $Versionresult ;"InstanceName" = $_.InstanceName}
$table

}

Цитата

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...