Powershell: Поиск запущенных служб в домене на примере Radmin

Найдём компьютеры в домене у которых установлен Radmin. Заодно выведем список рабочих станций у которых он не установлен. Всё это, разумеется, с помощью PowerShell.

Часто возникает задача, узнать запущена ли какая нибудь служба на компьютерах пользователей.
Первое же решение кажется очень простым:

  • командлетом Get-ADComputer получить список компьютеров в домене
  • командлетом Get-Service получить список запущенных служб
  • Решение очевидное, но не очень эффективное.
    Не эффективное оно по нескольким причинам:

  • Командлет Get-ADComputer - получит список всех устройств домена, включая сервера и сетевое оборудование
  • Из полученного списка не все машины будут включены
  • Итогом будет вечность выполнения скрипта.
    Поэтому скрипт будем писать с оглядкой на эти проблемы, а именно:

  • Сначала отфильтруем только рабочие станции
  • Потом пингом проверим включены ли они
  • Только потом, проверим запущена ли на них нужная нам служба
  • Наконец, выведем двумя списками компьютеры с запущенной и незапущенной службой
  • Скрипт и результат:

    Windows PowerShell ISE
    1. ##############################################################################
    2. #
    3. # Скрипт выводит список компьютеров на которых запущена указанная служба
    4. # На примере службы Radmin - rserver3
    5. #
    6. ###############################################################################
    7.  
    8.  
    9. # Получаем список компьютеров в сети, без серверов и сетевого оборудования
    10. $workstations = Get-ADComputer -Filter "operatingsystem -notlike '*server*'" -Properties operatingsystem `
    11. | where {$_.operatingsystem -notmatch "unknown" }
    12. # $workstations = Get-ADComputer -filter * -SearchBase "OU=Тест,DC=domain,DC=local"
    13.  
    14. # Что бы при каждом добавлении не пересоздавался весь массив
    15. # создадим System.Collections.ArrayList
    16. $Ena = New-Object System.Collections.ArrayList
    17. $Dis = New-Object System.Collections.ArrayList
    18.  
    19. # Начинаем проверять компьютеры из АД
    20. foreach ($RadminHost in $workstations.dnshostname)
    21.  {
    22.  # Сначало, включены ли они, тупо пингуем
    23.  $TurnOn = Get-WmiObject Win32_PingStatus -filter "Address='$RadminHost'"  
    24.     if ($TurnOn.StatusCode -eq 0) 
    25.     {
    26.     # Если пинг идёт - то смотрим запущена ли служба
    27.        $rsenable = Get-Service 'rserver3'  -ComputerName $RadminHost
    28.       # Если запущена, добавляем в массив запущенных
    29.        if ($rsenable.Status -eq 'running')
    30.           {
    31.             $Ena.Add($RadminHost)
    32.           }
    33.         # Если нет - где службу нужно установить
    34.         else
    35.             {
    36.                  $Dis.Add($RadminHost)
    37.             }
    38.      }
    39. }
    40.  
    41. # Выводим на экран
    42. Write-Host "*****************************"
    43. Write-Host "Radmin включен на:" -ForegroundColor Green
    44. $Ena
    45. Write-Host "Всего:" ($Ena).Count -ForegroundColor Green
    46. Write-Host "*****************************" 
    47. Write-Host "Radmin выключен на:" -ForegroundColor Red
    48. $Dis
    49. Write-Host "Всего:" ($Dis).Count -ForegroundColor Red
    50. Write-Host "*****************************"
    1. *****************************
    2. Radmin включен на:
    3. Comp02.domain.loc
    4. Comp03.domain.loc
    5. Comp07.domain.loc
    6. Comp11.domain.loc
    7. Comp16.domain.loc
    8. Всего: 5
    9. *****************************
    10. Radmin выключен на:
    11. Comp01.domain.loc
    12. Comp05.domain.loc
    13. Всего: 2
    14. *****************************
    15.  
    16. PS C:\>

     


    Популярные заметки

    Не запускается служба Сервер после установки Авеста

    Ошибка 127, Не запускается служба Сервер (LanmanServer)

    Настройка личного кабинета на сайте МНС

    Настройка личного кабинета на сайте МНС

    Как на айфоне скачать аватар Вайбера?

    Как на айфоне скачать аватар в вайбере?

     

    Комментарии


    • Оставьте первый комментарий — будьте первым

     

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

    Ваш адрес email не будет опубликован. Обязательные поля помечены *