2017-02-14 11 views
0

У меня есть удаленный сервер, где у меня есть программа (C#, WCF) с интерфейсом webservice, который мне нужно запустить с другой машины. В настоящее время у меня есть сценарий PowerShell на удаленном компьютере с:программа запуска powershell на удаленной машине, интерфейс webservice не работает

Start-Process -WindowStyle Minimized 'path to exe' 

Это работает, если я запустить скрипт непосредственно на сервере со следующим в CMD строке.

Powershell.exe start.ps1 

Интерфейс Webservice полностью функциональный.

Однако, когда я бегу сценарий удаленно через PowerShell с

Invoke-WmiMethod –class Win32_process -name Create -ArgumentList "powershell.exe c:\Start.ps1" -ComputerName $serverName -credential $Cred

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

Есть ли специальные разрешения или что-то, что необходимо добавить при вызове сценария удаленно, чтобы заставить его работать?

ответ

0

Если я правильно понял, ваши проблемы связаны с запуском exe на удаленном сервере. Если вы используете WIN2012 R2 (или выше), перенаправление PowerShell должно быть активировано по умолчанию (если вы используете более старую версию WIN, выполните некоторые запросы Google о том, как активировать дистанционное управление Powershell).

С помощью пульта дистанционного управления Powershell вы можете использовать Invoke-Command, чтобы запустить exe на пульте дистанционного управления. Пример:

Invoke-Command -ComputerName 1.2.3.4 -Credential (Get-Credential) -Scriptblock { Start-Process "your.exe" } 

Использование пульта дистанционного управления Powershell имеет ряд преимуществ.

  • Стандартное использование механизма через WSMAN.
  • Remoting использует HTTP (S) для транспорта. Поэтому работать с брандмауэрами становится легче.

Надеюсь, что это поможет.

+0

Проблема не начинается, это работает. Но когда он запущен, вебсервис не работает, то есть я не вижу WSDL для программы. Если вы запускаете тот же скрипт на сервере, который запускает программу, веб-сервис работает правильно. –