Скрипт для перезапуска службы Windows

Обновлено: 21.11.2024

Если вы управляете службами Windows и вам удобно работать из командной строки, то команда Windows NET.EXE должна быть в вашем наборе инструментов. Используйте его, чтобы легко запускать, останавливать, приостанавливать или перезапускать любую службу из командной строки с повышенными привилегиями или в удобном сценарии или пакетном файле.

Использование NET для остановки службы Windows

Чтобы остановить службу, запустите:

где имя службы. Обязательно заключите его в кавычки, если он содержит пробел!

Например, чтобы остановить службу диспетчера очереди печати (с именем «Диспетчер очереди»), выполните:

Вот как это выглядит на нашем компьютере с Windows Server 2016:

Обратите внимание, что команда NET будет ждать остановки службы, прежде чем продолжить. Единственным исключением является случай, когда служба не отвечает или требуется более 30 секунд для выполнения требований.

Запуск службы Windows с помощью NET

Чтобы запустить бездействующую службу Windows, выполните:

Если все пойдет хорошо, ваша служба (и любая другая служба, от которой зависит ее работа) будет запущена через несколько секунд:

Как перезапустить службу Windows с помощью NET.EXE

Чтобы перезапустить службу, скажем, из пакетного файла, объедините команды "net stop" и "net start" следующим образом:

NET также будет приостанавливать и возобновлять службы Windows

Не все службы поддерживают паузу и возобновление работы, но если у вас есть служба, которая поддерживает NET, она тоже может пригодиться.

Чтобы приостановить службу, введите:

Чтобы возобновить приостановленную службу, выполните:

Вам также может понравиться.

28 ответов на вопрос Основные инструменты для служб Windows: команда NET

При использовании команды NET в пакетном режиме для перезапуска я рекомендую добавить время для реакции служб. Я сделал это для одного из моих сервисов, который имеет тенденцию зависать. См. ниже;

@ЭХО.
@ECHO Остановка служб, подождите 10 секунд…

@ECHO OFF
Служба остановки REM

NET STOP ServiceNameHere

REM Ниже приведен таймер, позволяющий очистить оперативную память сервера после остановки службы.
REM Используйте числовое значение в командной строке 'timeout', чтобы контролировать, сколько секунд будет длиться пауза.

TIMEOUT /t 10 /NOBREAK
ЭХО.

NET START ServiceNameЗдесь

У меня есть вопрос, если мне нужно запустить несколько служб, а для запуска этих служб требуется более 30 секунд, то как я могу добиться этого, поскольку в настоящее время происходит сбой с ошибкой "время ожидания 'net' истекло через 30 секунд".

Благодарим за ранний ответ. спасибо

Привет. Мы рекомендуем создать пакетный файл, который использует команду SC, чтобы остановить службу и проверить ее позже.

Чтобы остановить службу с помощью SC, используйте:
имя службы SC STOP

Чтобы проверить, была ли служба успешно остановлена ​​(после ожидания более 30 секунд), используйте следующую команду:
SC QUERY servicename | НАЙТИ «СОСТОЯНИЕ» | НАЙТИ «ОСТАНОВЛЕНО»

Переменной %ERRORLEVEL% будет присвоено значение 1, если служба не находится в состоянии "Остановлена".

Эта статья может содержать дополнительные рекомендации.

Мне нужен сценарий для проверки способности пользователей запускать службу. Несколько пользователей на нескольких серверах. Могу ли я сделать это с помощью команд SC или NET?

Если вы не против попробовать запустить службу, вы также можете использовать NET START и искать ошибки, как показано в примере на этой странице.

сэр нет, остановите telnet, как использовать эту команду

Обратите внимание, что если имя службы состоит из двух или более слов, его необходимо заключить в кавычки. Мне потребовалось время, чтобы найти это!

Я хочу перезапустить службы на нескольких серверах Windows, и это займет около 1 минуты. Я пытался использовать NET STOP, но он не ждал и просто выполнил следующую команду для запуска. Может кто-нибудь помочь мне с точным сценарием, который я могу использовать для перезапуска служб на нескольких серверах.

NET STOP будет ждать остановки службы только около 30 секунд. Если служба занимает больше нескольких секунд, NET выдаст сообщение «Невозможно дождаться».

К сожалению, нет способа заставить NET STOP «подождать дольше». И утилита SC ничем не поможет, она даже не пытается ждать.

Мы рекомендуем использовать пакетный файл «safeServiceStop.bat» (или «safeServiceRestart.bat»), описанный в этой статье.

Сохраните пакетный файл в своей файловой системе и вызовите его из существующего пакетного файла. Обратите внимание, что вы должны добавить «localhost» при вызове нового пакетного файла. Например, чтобы остановить службу под названием «Диспетчер очереди», используйте

safeServiceStop localhost Spooler

Обратите внимание, что рекомендуемое решение будет ожидать остановки службы неопределенное время. Если служба никогда не останавливается, ваш скрипт зависнет.

ОБНОВЛЕНИЕ 27.08.2018. Мы создали бесплатную утилиту командной строки (называемую ServicePilot), которая будет ждать столько, сколько вам нужно, при остановке службы. Вы можете использовать его вместо рекомендованного выше пакетного файла — это гораздо более простая альтернатива.

При использовании ServicePilot обязательно укажите соответствующее значение для флага "-wait". Например, чтобы остановить службу диспетчера очереди печати, если для ее выполнения может потребоваться 5 минут (300 секунд), используйте:

Обратите внимание, что служба будет принудительно остановлена, если она не остановится корректно в течение заданного периода времени.

Остановить службу Тобии. Не принимает команду Net Start, а Sc start, говорит что команда неверная, имя службы (Tobii Service)

Какую команду вы используете, чтобы остановить Тобии?

Убедитесь, что вы указываете имя службы. И заключите имя в кавычки, если оно содержит пробел!

Это было правильно, я поставил имя без ("), поэтому это было неправильно, теперь это сработало. Чистый старт «Тобии Сервис»

Если я использую net stop и net start на специальной службе, которая перестала работать правильно, это не помогает, она все еще работает неправильно.
Но при перезапуске той же службы из services.msc служба сбрасывается правильно. В чем разница?

(название сервиса состоит из одного слова, так что проблема не в кавычках..)

Выводит ли NET STOP/START какие-либо сообщения об ошибках на консоль? Возможно, он дает сбой и фактически не останавливает/запускает службу.

Распространенная проблема: NET STOP/START завершится ошибкой, если у вас недостаточно прав. Убедитесь, что вы работаете в командной строке с повышенными правами (начиная с «Запуск от имени администратора»).

Спасибо. Сообщений об ошибках нет, просто пишет, что служба остановлена. И да, я запускаю его на повышенных настройках.
Я попробую тайм-аут с первого комментария в следующий раз, когда буду за компьютером.

Очень распространенная проблема при работе с командами net или SC и некоторыми пользовательскими службами заключается в том, что вам нужно указать «Имя службы», а не «Отображаемое имя». Часто они совпадают, но не всегда. Щелкните правой кнопкой мыши службу в services.msc, чтобы увидеть две на вкладке «Общие», и убедитесь, что вы делаете «Net Start servicename» — и, как сказано выше, вам все равно придется заключать ее в кавычки, если в ней есть пробелы.

Вы можете изменить имя с помощью sc, чтобы сделать его проще, если хотите, но очевидно, что это может быть плохой идеей с системными/Windows-сервисами.

Кстати, я знаю, что в статье действительно говорится об этом, но ссылка на «название службы», которая объясняет это, довольно тонкая, и я думаю, что люди могут этого не заметить.

Спасибо, что указали на важную разницу между «Именем службы» и «Отображаемым именем».

Да, мы упомянули в статье о необходимости использовать «Имя службы», но, возможно, есть способ сделать его более заметным. Мы подумаем над этим — дайте нам знать, если у вас есть идеи, которые не отвлекают от основной темы статьи (использование NET).

Обратите внимание, что наша бесплатная утилита ServicePilot (более полнофункциональная альтернатива NET.EXE) устраняет путаницу в именах, принимая как «Имя службы», так и «Отображаемое имя». Вы можете использовать любой из них!

В центре внимания искусство. Удивительно из-за. Это дало мне, возможно, лучшую задачу. ровно через 30 секунд после входа в систему, одновременно с разрешением рабочего стола в моей системе запуска SSD, я наблюдаю, как слегка модифицированная версия вашего скрипта отключает службу Synergy, а затем включает ее примерно через 20 секунд. До сих пор при каждом входе в систему в течение ~ 6 месяцев с момента получения Synergy приходилось щелкать значок на панели задач для Synergy, а затем останавливать и запускать программу, потому что она не запускает клики клиента, пока служба не перезапустится. Просто лучший. Вот мой модифицированный скрипт:
@ECHO.
@ECHO Остановка служб, подождите 10 секунд…

@ECHO OFF
Служба остановки REM

Синергия NET STOP

TIMEOUT /t 10 /NOBREAK
ЭХО.

Синергия NET START

забыл поблагодарить ВАС, основные технологии, за недавнюю помощь в запуске моего ПЛАНИРОВЩИКА ЗАДАНИЙ... хотя и на совершенно другом компьютере, чем тот, который упоминался выше.

Если служба не запущена, START не произойдет, если вы не отформатируете его следующим образом:

чистая остановка
чистая начальная

Если служба не запущена, первая строка выдаст ошибку и выдаст ошибку, а вторая подхватит и запустит службу.

Я хочу перезапускать определенную службу в определенное время каждую неделю.

если я воспользуюсь указанными выше командами, будет ли это работать?

и если не удастся остановить службу, получу ли я какое-либо уведомление по электронной почте или есть ли способ получить уведомление по электронной почте мне, если что-то пойдет не так?

также, если перезагрузка с пакетным файлом будет выполнена успешно, я все равно получу уведомление вместо входа в систему и проверки журналов Windows

Да — вы можете использовать приведенные выше команды NET в сочетании с планировщиком заданий Windows для перезапуска определенной службы в определенное время. Мы добавим в блог статью с подробностями и сообщим вам, когда она будет готова.

К сожалению, в Windows нет простого встроенного способа уведомить вас об успешном или неудачном выполнении операции службы.Некоторые администраторы крупных сайтов настроили инструменты, которые отслеживают важные события в журнале событий и доставляют оповещения, но это может быть излишним, если вы не работаете в корпоративной среде.

Сообщите нам, если это решение вам не подходит.

У меня есть два пакетных файла, написанных в моем приложении для остановки и запуска службы Windows.
Есть ли способ проверить состояние указанной службы (независимо от того, остановлена ​​она или нет) и перезапустить ее в определенное время в течение дня?
Для большей ясности:
Служба приложений останавливается, скажем, в 23:00 и снова запускается в 23:15.
Есть ли способ написать временные условия для перезапуска скрипта, исключая продолжительность 23:00-23:15?

Извините, если это не имеет особого смысла.

Привет. Вы можете использовать этот простой пакетный файл, чтобы проверить, запущена служба или нет:

Сохраните эти строки в новом файле .BAT и передайте имя службы (не отображаемое имя) в качестве первого параметра.

Что касается остановки в определенное время и перезапуска в другое время, мы рекомендуем использовать планировщик заданий Windows.

Создайте базовую задачу, которая останавливает службу в 23:00 (командный файл с запуском NET STOP), а другую — запуск службы в 23:15 (с NET START).
Этот процесс описан в разделе "Перезагрузка несколько раз в день (с помощью планировщика заданий Windows)" этой статьи по теме.

Командлет Restart-Service отправляет стоп-сообщение, а затем стартовое сообщение контроллеру служб Windows для указанной службы. Если служба уже была остановлена, она запускается без уведомления об ошибке. Вы можете указать службы по их именам служб или отображаемым именам или использовать параметр InputObject для передачи объекта, представляющего каждую службу, которую вы хотите перезапустить.

Примеры

Пример 1. Перезапустите службу на локальном компьютере

Эта команда перезапускает службу инструментария управления Windows (WinMgmt) на локальном компьютере.

Пример 2. Исключение службы

Эта команда перезапускает службы, отображаемое имя которых начинается с Net, за исключением службы Net Logon.

Пример 3. Запуск всех остановленных сетевых служб

Эта команда запускает все остановленные сетевые службы на компьютере.

Эта команда использует командлет Get-Service для получения объектов, представляющих службы, имя которых начинается с net. Оператор конвейера ( | ) отправляет объект службы командлету Where-Object, который выбирает только те службы, которые находятся в состоянии остановки. Другой оператор конвейера отправляет выбранные службы в Restart-Service .

На практике вы должны использовать параметр WhatIf, чтобы определить действие команды перед ее запуском.

Параметры

Запрашивает подтверждение перед запуском командлета.

< /tr>

Указывает отображаемые имена перезапускаемых служб. Подстановочные знаки разрешены.

Тип:SwitchParameter
Псевдонимы:cf
Позиция:Имя
Значение по умолчанию:False
Принимать ввод конвейера:False
Допускать подстановочные знаки:False
Тип:Строка [ ]
Позиция:Название
Значение по умолчанию:Нет
Принять ввод конвейера:False< /td>
Допускать подстановочные знаки:True

Указывает службы, которые этот командлет пропускает. Значение этого параметра определяет параметр Name. Введите элемент имени или шаблон, например s*. Подстановочные знаки разрешены.

Тип:Строка [ ]
Позиция:Название
Значение по умолчанию:Нет
Принять ввод конвейера:False< /td>
Допускать подстановочные знаки:True

Принудительно запускает команду без запроса подтверждения пользователя.

Тип:SwitchParameter
Позиция:Именованный
Значение по умолчанию:Нет
Принять ввод конвейера:False
Допускать подстановочные знаки:False

Указывает службы, которые перезапускает этот командлет. Значение этого параметра определяет параметр Name. Введите элемент имени или шаблон, например s*. Подстановочные знаки разрешены.

Тип:Строка [ ]
Позиция:Название
Значение по умолчанию:Нет
Принять ввод конвейера:False< /td>
Допускать подстановочные знаки:True

Указывает объекты ServiceController, представляющие перезапускаемые службы.Введите переменную, содержащую объекты, или введите команду или выражение для получения объектов.

Тип:ServiceController [ ]
Позиция:0
Значение по умолчанию:Нет
Принять ввод конвейера:True< /td>
Допускать подстановочные знаки:False

Указывает имена служб для перезапуска.

Тип:String [ ]
Псевдонимы:ServiceName
Позиция:0
Значение по умолчанию:Нет
Принимать ввод конвейера:True
Допускать подстановочные знаки:True< /td>

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

Тип:SwitchParameter
Позиция:Именованный
Значение по умолчанию:Нет
Принять ввод конвейера:False
Допускать подстановочные знаки:False

Показывает, что произойдет, если командлет запустится. Командлет не запущен.

< /tr>

Входные данные

System.ServiceProcess.ServiceController, System.String

Вы можете передать объект службы или строку, содержащую имя службы, этому командлету.

В большинстве случаев вам не нужно много делать со службой Windows, когда она запущена. Однако некоторые приложения могут устанавливать специальные службы в Windows, которые могут не работать по той или иной причине. В случае, описанном ниже, я работаю с настраиваемой службой, которая обрабатывает карты интеграции планирования между Dynamics GP и другой базой данных. Проведя некоторое исследование, я обнаружил, что у этой службы есть некоторые известные проблемы, из-за которых она зависает. Предлагаемое «решение» для этого состояло в том, чтобы создать запланированную задачу в Windows, чтобы периодически останавливать, а затем запускать службу.

Описанные ниже действия помогут вам создать пакетный файл для обработки остановки и запуска службы, а также создать запланированную задачу для вызова пакетного файла.

Чтобы создать пакетный файл, первое, что вам нужно сделать, это запустить Блокнот. Основные команды для вызова остановки и запуска службы показаны ниже:

NET STOP Имя службы

NET START Имя службы

Чтобы найти имя службы, просто откройте окно "Службы", найдите службу и щелкните правой кнопкой мыши, чтобы выбрать "Свойства".

В этом примере я имею в виду службу eOne SmartConnect. В окне свойств службы скопируйте имя службы: значение. В этом случае eOne.SmartConnect.WindowsService.exe

Теперь вернитесь в Блокнот и введите в файл соответствующие команды. В приведенном ниже примере показана правильная команда для остановки и последующего запуска службы eOne Smart Connect, показанной выше.

Я также включил дополнительную команду для записи в предопределенный файл журнала после выполнения пакетного файла. Команда echo используется для вывода текста на экран или в файл в зависимости от того, как вы это называете. В приведенном выше примере пакетный файл запишет текущую дату вместе с «Сервис успешно перезапущен» в файл журнала в каталоге C:\eOne Service Restart.

Для обновления файла журнала каталог должен существовать. Однако для первоначального выполнения файл журнала не обязательно должен существовать, и он будет создан после вызова команды.

Теперь, когда пакетный файл создан, следующим шагом будет использование планировщика заданий Windows для создания запланированной задачи для вызова пакетного файла. Для этого запустите Планировщик заданий (Инструменты администрирования >> Планировщик заданий).

В правой части экрана выберите параметр «Создать базовую задачу…»

На начальном экране под названием «Создать базовую задачу» все, что вам нужно сделать, — это дать задаче имя. В приведенном ниже примере я назвал задачу eOne Service Restart. После ввода имени нажмите «Далее»>

На следующем экране вы начнете настройку триггера. Триггер — это в основном расписание, которое вы хотите установить. В этом примере я хочу, чтобы планировщик запускался каждый день в 1:00. Если вы знакомы с созданием расписаний в других приложениях, таких как SQL Server, эта часть должна быть довольно простой.

По умолчанию переключатель рядом с Ежедневно будет помечен. Поскольку я создаю ежедневное расписание, нет необходимости его менять. После того, как вы выбрали нужную начальную точку, нажмите «Далее»>

Следующий шаг — настроить фактическое время запуска планировщика. Как упоминалось выше, я хочу, чтобы он запускался в 1:00 ежедневно. На приведенном ниже снимке экрана это показано.

После того как вы настроили время начала, нажмите «Далее»>

На следующем экране вы настроите действие, которое будет выполнено. Здесь есть три варианта: запустить программу, отправить электронное письмо или отобразить сообщение. Поскольку мы хотим вызвать пакетный файл, мы выберем здесь опцию «Запустить программу». Это также вариант по умолчанию.

После выбора нужного элемента действия нажмите кнопку Далее>

Следующим шагом будет указание пути к пакетному файлу, который был создан ранее. Я настоятельно рекомендую поместить пакетный файл куда-нибудь на диск C:\, желательно в его собственный каталог.

Нажмите кнопку "Обзор" рядом с пунктом "Программа/скрипт" и найдите пакетный файл. В приведенном ниже примере показано, где я выбрал пакетный файл из каталога перезапуска службы eOne.

После создания ссылки на пакетный файл нажмите кнопку Далее>

На последнем этапе перед нажатием кнопки "Готово" обязательно установите флажок "Открывать диалоговое окно свойств для этой задачи при нажатии кнопки "Готово". Это позволит вам внести несколько дополнительных, но важных изменений в задачу перед ее сохранением.

После установки флажка нажмите Готово.

Параметры, которые вы выберете в диалоговом окне, в основном зависят от использования сервера, на котором настраивается задача. По большей части вам нужно внести изменения только на вкладке «Общие», так как на других вкладках отображаются только параметры конфигурации из предыдущих шагов, описанных выше.

В большинстве случаев я бы рекомендовал изменить учетную запись пользователя, которая вызывает задачу, а также установить переключатель рядом с пунктом «Выполнить» независимо от того, вошел ли пользователь в систему или нет, и установить флажок рядом с пунктом «Выполнить с наивысшими привилегиями».

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

После внесения необходимых изменений в конфигурацию нажмите кнопку "ОК", чтобы сохранить запланированное задание.

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

Я хочу перезапускать определенную службу в определенное время каждую неделю. Могу ли я использовать команду NET?

Да. С помощью планировщика заданий Windows вы можете использовать команду NET для перезапуска определенной службы в определенное время.

1. Найдите название своего сервиса

Каждая служба Windows имеет два имени — короткое имя службы и понятное отображаемое имя. Нам нужно имя службы для команды NET.

Если вы еще не знаете название службы или хотите проверить его:

Запустите приложение служб Windows. Вы можете найти его, выполнив поиск «службы» в панели управления или запустив services.msc в командной строке.

Дважды щелкните запись, чтобы открыть свойства службы. Имя службы отображается вверху.

Здесь мы видим, что имя службы диспетчера очереди печати на самом деле «Диспетчер очереди печати»:

2. Создайте пакетный файл для перезапуска службы

С именем службы мы можем использовать команду NET для перезапуска службы.

Создайте новый пакетный файл и введите следующие две команды:

Замените Имя вашей службы на имя службы, указанное на шаге 1. Кавычки обязательны, если имя службы содержит пробел.

Например, если имя вашей службы "Spooler", пакетный файл должен выглядеть следующим образом:

Сохраните пакетный файл в известном месте. Мы будем использовать его на следующем шаге.

Протестируйте пакетный файл

На этом этапе мы рекомендуем выполнить быструю проверку, чтобы убедиться, что пакетный файл работает должным образом. Запустите его из административной командной строки и убедитесь, что он перезапускает вашу службу.

3. Создайте запланированную задачу для запуска пакетного файла в то время, когда вы хотите перезапустить службу

Теперь, когда вы можете перезапустить службу с помощью пакетного файла, давайте запланируем ее запуск в любое время.

Например, вот как мы будем перезапускать службу диспетчера очереди печати каждое воскресенье в час ночи:

Откройте планировщик заданий Windows. Вы запускаете его из панели управления или запускаете taskschd.msc из командной строки.

Нажмите «Создать простую задачу» справа:

Откроется окно мастера создания простой задачи.

Дайте задаче описательное имя:

Нажмите "Далее", чтобы продолжить.

Выберите Еженедельно и нажмите Далее:

Установите день и время перезапуска службы:

Нажмите "Далее", чтобы продолжить.

Убедитесь, что выбрано действие Запустить программу, и перейдите к следующему шагу:

Введите полный путь к пакетному файлу, который вы создали для перезапуска службы:

Нажмите "Далее", чтобы продолжить.

Просмотрите сводку и убедитесь, что все выглядит хорошо.

Установите флажок в поле «Открыть диалоговое окно свойств…» внизу, потому что нам нужно настроить одно из свойств задачи:

Нажмите "Готово".

И, наконец, в окне "Свойства" установите флажок "Выполнять с наивысшими привилегиями". Пакетный файл должен запускаться с правами администратора, чтобы он мог перезапустить службу.

Нажмите "ОК", чтобы сохранить настройки.

В будущем новая задача активируется в запланированное время, чтобы быстро перезапустить службу. Тебе пора идти.

Улучшение: используйте ServicePilot вместо NET для большей надежности

Хотя NET.EXE подойдет для большинства ситуаций, есть несколько сценариев, в которых он может не сработать.

Ваши услуги:

  • выключение занимает больше 30 секунд?
  • иногда зависает и отказывается останавливаться?

В этом случае команда NET STOP может завершиться ошибкой. И когда это произойдет, последующий вызов NET START также завершится ошибкой (поскольку служба не будет бездействовать). Конечным результатом будет то, что ваш сервис останется в непригодном для использования/не отвечающем состоянии!

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

Чтобы использовать ServicePilot вместо NET:

Загрузите ServicePilot с нашего веб-сайта. Сохраните исполняемый файл в известном месте (например, C:\Apps\ServicePilot\ServicePilot.exe).

Отредактируйте созданный пакетный файл, чтобы перезапустить службу.

Удалите две строки NET.

Добавьте следующую строку (при необходимости изменив полный путь к ServicePilot и имя службы):

Примечание. Параметр -wait 300 указывает ServicePilot ждать до 300 секунд (5 минут) до остановки и перезапуска службы. Не стесняйтесь увеличивать (или уменьшать) время ожидания в зависимости от вашего конкретного случая использования.

Сохраните пакетный файл.

Как и в случае с NET-версией, выполните быстрый тест, чтобы убедиться, что обновленный пакетный файл работает должным образом. Запустите его из административной командной строки и убедитесь, что он перезапускает вашу службу.

Удачи вам в обслуживании!

Вам также может понравиться.

Интересно, будет ли ваше устаревшее настольное приложение работать как служба Windows? Ответьте на эти 3 вопроса.

Читайте также:

Тип:SwitchParameter
Псевдонимы:wi
Позиция:Имя
Значение по умолчанию:False
Принимать ввод конвейера:False
Допускать подстановочные знаки:False