4

我已经用 c# .net 编写了我的程序。我想将其转换为 powershell cmdlet。我被指示使用 pssnapin 和 getproc 程序。任何人都可以帮助我..

问候阿伦

4

6 回答 6

4

要创建 PowerShell cmdlet,我建议您阅读Bart De Smet (B#) 撰写的Easy Windows PowerShell cmdlet development and debugging,这是创建和调试 cmdlet 的绝佳指南(正如它在锡上所说的那样!)

此外,我还发现 Professional Windows PowerShell Programming、ISBN 978-0470173930、(ISBN-10) 0470173939 非常适合创建 cmdlet 和提供程序。

于 2009-07-05T00:01:29.540 回答
2

So, here's the PSCmdlet-Class[from medata], that you can inherit from.

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);
    }
}

In order to get your cmdlets loaded, you need to sign them additionally, because Powershell does not execute not signed code.

于 2008-12-12T08:11:37.730 回答
1

看看这篇文章,在 VB 2005 中创建 PowerShell Cmdlet。它使用 VB 2005,但过程与 C# 相同。

完全披露,我写了这篇文章,但你看它并没有得到报酬。:)

于 2008-12-12T13:10:37.583 回答
1

安装 windows powershell 模板,您将获得 pssnapin 程序,使用它可以将您的 .cs 文件转换为 dll。然后在msdn中搜索getproc程序。我不记得确切,但会有一个方法首先执行。你用那个方法调用你的 dll 文件。我不记得代码,但这是要做的程序。

于 2008-12-12T06:38:25.890 回答
0

PowerTime 项目 ( http://code.google.com/p/powertime/ ) 是开源的,它实现了许多 cmdlet。很好的演示让你继续前进。

于 2008-12-15T13:10:51.247 回答
0

还要检查http://blogs.msdn.com/daiken/。特别是从 2007 年 2 月到 2007 年 6 月的所有月份。您将找到 Visual Studio 模板链接(适用于 2005 年,也适用于 Express)和几个示例/实验室。

于 2008-12-12T13:23:59.883 回答