2011-07-29 5 views
1

В результате this подход не работает, я стараюсь очень запутанный способ получения полной информации о маршруте на удаленной машине. Я пытаюсь подключиться к удаленной рабочей области powershell и выполнить инструмент командной строки route.exe таким образом и вернуть информацию.Powershell Remoting C# invoke-expression

По существу я подаю решение найдено here только я пытаюсь запустить команду: Invoke-Expression "C: \ WINDOWS \ system32 \ route.exe печать" вместо "Get-Process"

Когда Я использую «get-process», он работает. Когда я пытаюсь Invoke-Expression, я получаю исключение, говорящее мне, что эта команда-let не может быть найдена. Когда я запускаю ту же самую команду на машине локально, она работает и отображается информация о маршрутизации. Поэтому я знаю, что это не проблема синтаксиса или опечатка на пути. Кто-нибудь знает, почему это происходит?

Спасибо.

ответ

1

Хорошо, так как я опубликовал это, у меня была блестящая, но очевидная идея. Технически «Invoke-Expression» является «командой», а «c: \ WINDOWS \ system32 \ route.exe print» является аргументом команды. Так что вам нужно, чтобы добавить это код, который я связан выше:

powershell.AddCommand(scriptText); 
powershell.AddArgument(args); 

Где scriptText является «Invoke-Expression» и арг является «C: \ WINDOWS \ system32 \ route.exe печать».

Надеюсь, это поможет кому-то!

0

один пункт: вы избежали всех \ правильно?
еще один момент: попробуйте Invoke-Command вместо Invoke-Expression

+0

Да все было хорошо, см. Мой отредактированный вопрос/ответ. Благодарю вас за публикацию. – Bitfiddler

Смежные вопросы