Найти сервера с установленным MS SQL Server с помощью Powershell

Найти сервера с установленным MS SQL Server с помощью Powershell

Вот скрипт, который умеет искать сервера в вашем домене, на которых установлен Microsoft SQL Server.

Скрипт умеет обрабатывать выключенные\неотвечающие сервера с помощью пингов WMI, что полезно, когда ICMP по какой-то причине заблокирован. Кроме этого, тут используется Powershell Remoting, поэтому сначала удостоверьтесь, что он включен.

$pcs = Get-ADComputer -filter *;

$sql_servers = @();

$pcs | %{
    $ping = $(Get-WmiObject -Class Win32_PingStatus -Filter "Address='$($_.name)' AND Timeout=1000").statuscode;
    if ( $ping -eq 0 )
    {
        $service = Invoke-Command -ComputerName $_.name -ScriptBlock { Get-Service -Name "MSSQLSERVER" -ErrorAction SilentlyContinue };
        $sql_servers += New-Object PSObject -Property @{
            name = $_.name;
            status = $service;
        };
    }
    else
    {
        $sql_servers += New-Object PSObject -Property @{
            name = $_.name;
            status = "NON-RESPONDING";
        };
    }
}

$sql_servers;

Вот примерный вывод:

Find servers with MS SQL Server installed with Powershell

 

Метки: powershell (ru), скрипт, ms sql server (ru)

ПечатьE-mail

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


Защитный код
Обновить