Следующий способ реализации этой популярной задачи о котором я хочу поведать – использование Windows Management Infrastracture (WMI). WMI присутствует на всех компьютерах начиная с Windows 2000 (если не путаю), а на 9х его можно доустановить. WMI включён по умолчанию, и не требует дополнительной настройки, для его использования достаточно административных прав, и разрешенного на брандмауэре протокола DCOM.
Конкретно для запуска процессов нам потребуется метод Create класса Win32_Process. Использовать его тоже достаточно несложно, хотя и “неочевидно”
В PowerShell это делается следующим образом:
([wmiclass]"\\scenic11\root\cimv2:Win32_Process").create("Calc")
Как можно догадаться тут мы запускаем процесс Calc на компьютере Scenic11. Метод Create не дожидается завершения процесса, но зато сообщает нам его идентификатор – ProcessID.
WMI можно использовать не только с помощью PowerShell. Начиная с Windows XP в комплекте с Windows идёт утилита wmic.exe которая предоставляет достаточно удобный интерфейс для WMI из командной строки:
Ну и еще можно WMI доступен через Windows Script Host, но об этом я писать не буду – слишком уж это сложно для таких простых вещей
Впрочем если есть желание – можно почитать например здесь.
Дополнительно по теме WMI рекомендую прочитать статью Константина Леонтьева (кстати единственный в России MCM
) – “Вы всё ещё не используете WMI?”: Часть 1, Часть 2.
Другие способы выполнения команд на удалённом компьютере: PsExec.exe, WinRM.









Тут надо заметить, что этим способом нельзя запустить процесс интерактивным.
Комментарий от Bishop — 22.12.2008 @ 13:54
2 Bishop: Ага. Но что интересно – на локальном компьютере он всегда запускается интерактивно
Комментарий от Xaegr — 22.12.2008 @ 14:56
Есть еще одна моя статья из 2-х частей на тему WMI.
http://www.samag.ru/art/03.2006/03.2006_05.html
http://www.samag.ru/art/05.2006/05.2006_07.html
Комментарий от Konstantin — 3.1.2009 @ 0:41
2 Konstantin: Спасибо!
Кстати я уже опечатку нашел
«Помимо штатного резервного копирования и восстановления, выполнение которого доступно через консоль wmimgmt.msc. Существует еще ряд средств диагностики и восстановления WMI.» это должно быть одним предложением
Комментарий от Xaegr — 3.1.2009 @ 9:56
[...] Другие способы выполнения команд на удалённом компьютере: PsExec.exe, WMI. [...]
Уведомление от Запуск процесса на удалённом компьютере – WinRM (WS-Management) « PowerShell и другие скрипты — 12.1.2009 @ 10:59
[...] способы выполнения команд на удалённом компьютере: WMI, [...]
Уведомление от Запуск процесса на удалённом компьютере - PsExec « PowerShell и другие скрипты — 12.1.2009 @ 11:03
симпатично, но, как запустить на удаленном пк приложение, размещенное на сетевом ресурсе? вместо «calc» «\\server\dir\file.exe» ?
Комментарий от de10 — 21.4.2009 @ 10:24