добавление доверенных хостов winrm с помощью c#

У меня есть приложение С#, которое использует winrm для подключения к другим машинам. Чтобы заставить его работать, мне нужно запустить команду powershell:

Set-Item WSMan:\localhost\Client\TrustedHosts -Value $ip -Force

или команду winrm:

winrm set winrm/config/client '@{TrustedHosts="10.0.5.35"}'

Мне было интересно, что эквивалентно этому в С#?


person max    schedule 01.12.2014    source источник
comment
msdn.microsoft.com/en-us/library/dd163506.aspx так почему же вы не можете создать консольное приложение или запустить его из строки CMD и использовать вместе с ним Process Class и аргументы строки CMD [] для запуска тех же параметров   -  person MethodMan    schedule 02.12.2014
comment
спасибо, но упор делается на использование С#. Вызов powershell из С# - плохая практика/последний выход. В пространстве имен System.Management должен быть API, но я его еще не нашел.   -  person max    schedule 02.12.2014
comment
почему вы думаете, что это плохая практика ..? Мне просто любопытно... звучит так, как будто вы могли бы создать Batch File и вызвать процесс таким образом, если станет хуже...   -  person MethodMan    schedule 02.12.2014
comment
Есть несколько причин. В моем приложении это не одноразовая настройка. Это будет делаться много раз в день для многих хостов. Во-первых, переключение языков: это усложняет обслуживание кода. Представьте, что произойдет, если в Windows 2008 мне нужно установить плагин powershell, чтобы все заработало... Во-вторых, производительность. Вероятно, я буду запускать 10 потоков с интенсивным большим стандартным выводом. Каждый приведет к отдельному процессу, который не использует память совместно, следовательно, накладные расходы. Короче говоря, я буду использовать powershell в крайнем случае.   -  person max    schedule 02.12.2014