У меня была небольшая программа на F # (похожая на C #), которая получает процессы по имени, затем фильтрует конкретную по ее пути и ожидает ее выхода:
let processes = Process.GetProcessesByName("MyProcessName")
if (processes.Length > 0)
then for proc in processes do
if (proc.MainModule.FileName = "C:\Example\MyProcessName.exe")
then proc.WaitForExit()
Но этот код работает только на локальном компьютере. Теперь я хочу добиться такой же функциональности на удаленном компьютере.
Вот почему я выбираю PowerShell (я новичок в этом).
Можно ли отфильтровать процесс по его пути и дождаться его завершения, используя одну строку в powershell? Если нет, может быть, вы можете предоставить более длительное решение?
Как я выполню эту строку на удаленном компьютере, у меня уже есть идея. Все, что мне нужно, это просто магическая линия.
РЕДАКТИРОВАТЬ: На самом деле эта строка должна работать на локальной машине, потому что я собираюсь передать его с помощью msdeploy, который выполняет его на удаленной машине в качестве локальной команды.