2010-10-20 1 views
1

Я пытаюсь создать командлет, который вызывает функцию Powershell. Это можно сделать?Вызов функции из командной строки Powershell

Идея состоит в том, чтобы иметь статический командлет, который перечисляет набор данных, а затем вызывает определенную функцию, чтобы что-то делать для каждого элемента. Я всегда могу скопировать - вставить базовый шаблон для элемента enumaration, но очень легко сделать ошибки при внесении изменений в параметры и т. Д.

ответ

2

Конечно, используйте свойство InvokeCommand в PSCmdlet (при условии, что вы выходите из этого базового класса), например :

Collection<PSObject> result = this.InvokeCommand.InvokeScript("somefunc", true, 
           PipelineResultTypes.None, null, new[] {1,2,3}); 

Обратите внимание, что в этом случае somefunc принимает три параметра (1,2,3) и нет входных данных из конвейера (передать null для четвертого параметра).

+0

Это заняло у меня какое-то время, но потом я нашел его. Мне было интересно, почему у меня нет никаких ценностей. Имя функции должно быть somefunc $ args [0] $ args [1] $ args [2], если есть три параметра. – user287718

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

  • Нет связанных вопросов^_^