У меня есть скрипт ниже, который запускает SQL-запрос для каждого сервера в списке.Я хочу, чтобы он добавлял каждый результат SQL в массив, а затем после завершения цикла ForEach я хочу, чтобы он распечатывал массив в виде отформатированной таблицы.
В данный момент отформатированная таблица показывает толькомне результаты с первого сервера, моя проблема в том, чтобы заставить его работать, чтобы показать результаты для всех серверов.
$ServerNames=@('SQL1,6435'
,'SQL2,6431'
,'SQL3,6434'
,'SQL4,6438'
,'SQL5,6439')
$VersionQuery = "SELECT SERVERPROPERTY ('ServerName') [ServerName]`
, SERVERPROPERTY ('Edition') [Edition]`
, SERVERPROPERTY ('ProductLevel') [ProductLevel]`
, SERVERPROPERTY ('ProductUpdateLevel') [ProductUpdateLevel]`
, SERVERPROPERTY ('ProductBuildType') [ProductBuildType]`
, SERVERPROPERTY ('ProductUpdateReference') [ProductUpdateReference]`
, SERVERPROPERTY ('ProductVersion') [ProductVersion]"
$Results = foreach($ServerName in $ServerNames)
{
Invoke-Sqlcmd2 -Query $VersionQuery -QueryTimeout 5 -ConnectionTimeout 5 -ServerInstance $ServerName -ErrorAction Stop
}
$Results | ConvertTo-DbaDataTable | Format-Table
Кто-нибудь может мне помочь в достижении этого?
Обновление: удаление ConvertTo-DbaDataTable
решило проблему.