как создать командлет?

Я написал свою программу на c # .net. Я хочу преобразовать его в командлет PowerShell. Мне было приказано использовать программы pssnapin и getproc. Может кто-нибудь, пожалуйста, помогите мне ..

С уважением Арун

12.12.2008 05:28:36
Есть ли причина, по которой вы не приняли никакого ответа на свои вопросы?
stej 27.01.2010 06:31:10
6 ОТВЕТОВ

Установите шаблон Windows PowerShell, таким образом, вы получите программу pssnapin, с помощью которой вы можете конвертировать ваш .cs файл в dll. Затем найдите программу getproc в msdn. Я точно не помню, но сначала будет метод, который будет выполнен. Вы вызываете свой файл DLL в этом методе. Я не помню код, но это процедура, которую нужно сделать.

1
12.12.2008 06:38:25

Итак, вот класс PSCmdlet [от medata], от которого вы можете наследовать.

namespace System.Management.Automation
{
    public abstract class PSCmdlet : Cmdlet
    {
        protected PSCmdlet();

        public PSHost Host { get; }
        public CommandInvocationIntrinsics InvokeCommand { get; }
        public ProviderIntrinsics InvokeProvider { get; }
        public InvocationInfo MyInvocation { get; }
        public string ParameterSetName { get; }
        public SessionState SessionState { get; }

        public PathInfo CurrentProviderLocation(string providerId);
        public Collection<string> GetResolvedProviderPathFromPSPath(string path, out ProviderInfo provider);
        public string GetUnresolvedProviderPathFromPSPath(string path);
        public object GetVariableValue(string name);
        public object GetVariableValue(string name, object defaultValue);
    }
}

Для загрузки ваших командлетов вам необходимо дополнительно подписать их, поскольку Powershell не выполняет не подписанный код.

2
12.12.2008 08:11:37
по умолчанию ... не стесняйтесь использовать Set-ExecutionPolicy, чтобы разрешить его на свой страх и риск.
slipsec 13.12.2008 00:54:15

Взгляните на эту статью « Создание командлетов PowerShell в VB 2005» . Он использует VB 2005, но процесс такой же для C #.

Полное раскрытие, я написал статью, но вы мне не платите, глядя на нее. :)

1
12.12.2008 13:10:37

Проверьте также http://blogs.msdn.com/daiken/ . В частности, все месяцы с февраля 2007 года по июнь 2007 года. Вы найдете ссылку на шаблон Visual Studio (для 2005 года, также работает в Express) и несколько примеров / лабораторных работ.

0
12.12.2008 13:23:59

Проект PowerTime ( http://code.google.com/p/powertime/ ) имеет открытый исходный код и реализует несколько командлетов. Хорошо для демонстрации, чтобы вы пошли.

0
15.12.2008 13:10:51

Чтобы создать командлет PowerShell, я бы порекомендовал вам прочитать Bart De Smet (B #) о разработке и отладке командлетов Easy Windows PowerShell. Это отличный шаг для создания и отладки командлетов (делает то, что говорит на жестяной коробке!)

Кроме того, я нашел профессиональное программирование Windows PowerShell, ISBN 978-0470173930, (ISBN-10) 0470173939 очень хорошим для создания командлетов и поставщиков.

3
5.07.2009 00:01:29