Windows Services: Как запланировать и контролировать их?

Да, Вы ищете беспроводное образование моста. Существует много устройств, которые могут сделать это.

3
задан 8 March 2013 в 10:51
5 ответов

Если вы хотите останавливать и запускать службы по расписанию, почему бы не использовать встроенный в планировщик заданий Windows? Он отлично справляется с такими задачами - он может запускать команду, и вы можете просто использовать ее с пакетными заданиями, предназначенными для запуска и остановки служб.

Что касается служб мониторинга - снова вы можете использовать параметр восстановления в самой службе. - выберите «запустить программу» и используйте его для запуска пакетного задания, которое отправляет уведомление по электронной почте (через что-то вроде blat , если вы хотите упростить задачу), а затем повторно запускает службу.

Service

1
ответ дан 3 December 2019 в 07:05

Для мониторинга: Есть встроенная функция, загляните во вкладку «Восстановление» при нажатии на свойства службы в services.msc . Вы можете «Запустить программу», если служба не работает, эта программа может быть, например, сценарием для отправки электронного письма. Существуют также десятки решений для мониторинга сети, которые могут отслеживать службы Windows, Nagios, PRTG, OpenNMS и многие другие.

0
ответ дан 3 December 2019 в 07:05

В соответствии с предложением @RobM вы можете предоставить базовые функции мониторинга и восстановления на вкладке свойств службы, хотя, по моему опыту, это обычно плохо масштабируется на большом количестве серверов или служб, и более того ограничено, чем хотелось бы. Если ваши потребности выходят за рамки этого базового инструмента, вы можете лицензировать любое количество наборов мониторинга или, если стоимость является фактором, довольно просто развернуть свои собственные сценарии мониторинга.

Если у вас больше опыта в области * nix, вы можете считает, что проще использовать SNMP для мониторинга и управления службами, хотя родной опцией является WMI (инструментарий управления Windows) и командная строка WMIC (команда инструментария управления Windows) , которая становится очень мощной, когда вы получаете зависание его использования.

Например ... WMIC / узел: [имя хоста] СПИСОК СЕРВИСОВ

выводит список запущенных служб с:

СЛУЖБА WMIC, где (состояние = "работает") ПОЛУЧИТЬ заголовок, имя, состояние> services.tsv

и запустите службу telnet с помощью:

WMIC SERVICE, где caption = 'TELNET' CALL STARTSERVICE .

Немного логики в выбранном вами языке сценариев, и вы можете отправлять оповещения по электронной почте, когда конкретная служба недоступна. t запускать, запускать, останавливать или перезапускать службы по расписанию и отвечать всем остальным требованиям. Лучше всего то, что он родной, и единственный инструмент, который вам нужен, - это интерфейс командной строки Windows (работают и cmd, и Powershell) и очень мало навыков написания сценариев.

0
ответ дан 3 December 2019 в 07:05

Предложения RobM и HopelessN00b хороши, если вы хотите придерживаться инструментов Windows (за исключением отправки по электронной почте с помощью blat.exe, который на самом деле является отличной электронной почтой smtp из командной строки).

Поскольку вы упомянули Если вас интересует сторонняя утилита, наше (бесплатное) программное обеспечение для мониторинга EventSentry Light должно соответствовать всем вашим требованиям - с помощью одного бесплатного программного обеспечения:

  1. Monitor Services : оно будет уведомлять вы, когда служба меняет свой статус.
  2. Изменить статус службы: наш «Планировщик приложений» позволяет вам планировать простые сценарии, в этом случае вы можете просто использовать sc.exe для остановки и запуска службы в указанное время.
  3. Службы управления: вы можете указать желаемый статус службы, и в этом случае EventSentry будет пытаться всегда поддерживать службу в этом состоянии.

Преимущество планировщика приложений в том, что он может записывать выходные данные процессов командной строки в журнал событий, поэтому, если перезапуск службы не сработал (по какой-либо причине), вы можете мгновенно получить уведомление с весь вывод командной строки.

1
ответ дан 3 December 2019 в 07:05

Этот сценарий PowerShell отслеживает запуск и остановку служб Windows:

$services = @{};

while ($true)
{
    foreach ($service in @(Get-Service))
    {
        $oldStatus = $services[$service.Name];
        $newStatus = $service.Status;

        if (!$oldStatus)
        {
            echo "$newStatus $($service.Name) ($($service.DisplayName))"
        }
        elseif ($oldStatus -ne $newStatus)
        {
            echo "$oldStatus -> $newStatus $($service.Name) ($($service.DisplayName))"
        }

        $services[$service.Name] = $newStatus;
    }

    Start-Sleep 1
}

Пример вывода:

Stopped AarSvc_e22aba (Agent Activation Runtime_e22aba)
Stopped AJRouter (AllJoyn Router Service)
Stopped ALG (Application Layer Gateway Service)
Running AMD External Events Utility (AMD External Events Utility)
...
Stopped XblAuthManager (Xbox Live Auth Manager)
Stopped XblGameSave (Xbox Live Game Save)
Stopped XboxGipSvc (Xbox Accessory Management Service)
Stopped XboxNetApiSvc (Xbox Live Networking Service)
Running -> Stopped camsvc (Capability Access Manager Service)
Stopped -> Running camsvc (Capability Access Manager Service)
Stopped -> Running ClipSVC (Client License Service (ClipSVC))
Running -> Stopped camsvc (Capability Access Manager Service)
Running -> Stopped ClipSVC (Client License Service (ClipSVC))
Running -> Stopped AppXSvc (AppX Deployment Service (AppXSVC))
Stopped -> Running AppXSvc (AppX Deployment Service (AppXSVC))
Stopped -> Running ClipSVC (Client License Service (ClipSVC))
Stopped -> Running WerSvc (Windows Error Reporting Service)
0
ответ дан 13 July 2020 в 18:51

Теги

Похожие вопросы