2013-08-11 5 views
2

Может ли кто-нибудь помочь мне зарегистрировать фактическую команду PowerShell, выпущенную вместе с аргументами.Как напечатать аргументы командлета powershell внутри класса командлета

У меня есть Командлет, реализованный в C# следующим

class GetMyCommand : PSCmdlet 
{ 
    // parameter definitions 
    ... 

    void processRecord() 
    { 
     // Here I want print actual arguments passed to the cmdlet. 
    } 
} 

если кто-то называет

Get-MyCommand -Name Hello -File "test.txt" 

Я просто хочу, чтобы войти в команду в функции ProcessRecord.

"Get-MyCommand -Name Hello -File "test.txt"" 

Очевидно, что я знаю имя командлета, но не знаю, как печатать точную строку аргументов.

Environment.CommandLine работает внутри обычных EXEs, но как сделать то же самое в командлетов

Благодаря

ответ

2

Используйте MyInvocation.Line свойство на PSCmdlet например:

void ProcessRecord() { 
    var line = this.MyInvocation.Line 
} 
+0

Обе вышеупомянутые ответы являются правильными и полезными для меня, отмечая это как ответ, как это четкий ответ на вопрос – pradeep

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