===== Запрос экземпляров SQL Server по списку серверов из Active Directory ===== {{:powershell:sql-server:pasted:20211127-122145.png }} В этой заметке рассмотрены варианты запроса информации об установленных экземплярах **SQL Server** по списку серверов из **Active Directory** с помощью **PowerShell**. \\ В этом примере из AD выбираются компьютеры по маске имени ''*SQL*'' и ''*DB*'': Import-Module ActiveDirectory $servernames = ( ` Get-ADComputer -Filter ('Name -like "*SQL*" -Or Name -like "*DB*"') ` -SearchBase "OU=YourServers,DC=YourDomain,DC=com" ` | Select-Object -expand Name ) Invoke-Command -ComputerName ( ` Get-ADComputer -Filter ('Name -like "*SQL*" -Or Name -like "*DB*"') ` -SearchBase "OU=YourServers,DC=YourDomain,DC=com" ` | Select-Object -expand Name ) ` -ScriptBlock { ` Import-Module SQLPS -DisableNameChecking $Srv = New-Object "Microsoft.SqlServer.Management.Smo.Wmi.ManagedComputer" $servernames $Srv.ServerInstances ` | Select-Object Name, State, ServerProtocols, Urn ` | Format-Table -AutoSize } ` | Out-File C:\Temp\SQL_Servers_Poll.txt ---- Проверено на следующих конфигурациях: ^ Версия ОС ^ Версия PowerShell ^ Версия SQL Server ^ | Windows Server 2008R2, 2012R2 | 3.0+ | SQL Server 2012 | ---- {{:user:pokunev.png?50&nolink |}} Автор первичной редакции:\\ [[user:pokunev|Пётр Окунев]] \\ Время публикации: 06.12.2021 20:56 {{tag>PowerShell "SQL Server" "T-SQL" "Active Directory"}} ~~DISCUSSION~~