我已经用 c# .net 编写了我的程序。我想将其转换为 powershell cmdlet。我被指示使用 pssnapin 和 getproc 程序。任何人都可以帮助我..
问候阿伦
我已经用 c# .net 编写了我的程序。我想将其转换为 powershell cmdlet。我被指示使用 pssnapin 和 getproc 程序。任何人都可以帮助我..
问候阿伦
要创建 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 和提供程序。
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.
看看这篇文章,在 VB 2005 中创建 PowerShell Cmdlet。它使用 VB 2005,但过程与 C# 相同。
完全披露,我写了这篇文章,但你看它并没有得到报酬。:)
安装 windows powershell 模板,您将获得 pssnapin 程序,使用它可以将您的 .cs 文件转换为 dll。然后在msdn中搜索getproc程序。我不记得确切,但会有一个方法首先执行。你用那个方法调用你的 dll 文件。我不记得代码,但这是要做的程序。
PowerTime 项目 ( http://code.google.com/p/powertime/ ) 是开源的,它实现了许多 cmdlet。很好的演示让你继续前进。
还要检查http://blogs.msdn.com/daiken/。特别是从 2007 年 2 月到 2007 年 6 月的所有月份。您将找到 Visual Studio 模板链接(适用于 2005 年,也适用于 Express)和几个示例/实验室。