如何将 .cs 文件转换为 PowerShell cmdlet?

发布于 2024-07-09 12:36:08 字数 98 浏览 6 评论 0原文

谁能帮我将 C# .NET 程序转换为 PowerShell cmdlet? 我对这个领域很陌生。 请帮助我离开这个检查站!

问候,

阿伦

Can anyone help me to convert a C# .NET program to PowerShell cmdlet? I am very new to this area. Please help me to get out of this checkpoint!

Regards,

Arun

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

无需解释 2024-07-16 12:36:08

添加对 System.Management.Automation 的引用,创建一个继承自 Cmdlet 的类并重写 ProcessRecord 方法:

[Cmdlet(VerbsCommon.Get, "Double")]
public class GetDouble : Cmdlet
{
    [Parameter]
    public int SomeInput { get; set; }

    protected override void ProcessRecord()
    {
        WriteObject(SomeInput * 2);
    }
}

添加安装程序:

[RunInstaller(true)]
public class MySnapin : PSSnapIn
{
    public override string Name { get { return "MyCommandlets"; } }
    public override string Vendor { get { return "MyCompany"; } }
    public override string Description { get { return "Does unnecessary aritmetic."; } }
}

安装commandlet 程序集:

Installutil /i myassembly.dll

并添加:

Add-PsSnapin MyCommandlets

Add a reference to System.Management.Automation, create a class that inherits from Cmdlet and override the ProcessRecord method:

[Cmdlet(VerbsCommon.Get, "Double")]
public class GetDouble : Cmdlet
{
    [Parameter]
    public int SomeInput { get; set; }

    protected override void ProcessRecord()
    {
        WriteObject(SomeInput * 2);
    }
}

Add an installer:

[RunInstaller(true)]
public class MySnapin : PSSnapIn
{
    public override string Name { get { return "MyCommandlets"; } }
    public override string Vendor { get { return "MyCompany"; } }
    public override string Description { get { return "Does unnecessary aritmetic."; } }
}

Install your commandlet assembly:

Installutil /i myassembly.dll

And add:

Add-PsSnapin MyCommandlets
忆依然 2024-07-16 12:36:08

Reflector 有一个附加组件可以做到这一点。
这是一篇带有示例的好文章: http://msmvps.com/blogs/paulomorgado/archive/2009/09/18/powershell-for-the-net-developer.aspx*

.NET Reflector 在 CodePlex 上有一系列附加组件,以及一个这些
PowerShell 插件,允许您直接反汇编代码
进入 PowerShell。

在此示例中,我从以下位置打开方法 ChangeAccountPassword
SharePoint 中的 SPUtility 库:

“图像”

我现在可以将目标从 C# 更改为 PowerShell。

“图像”

当您需要将辅助方法从 C# 转换为 PowerShell 时或者如果
如果您不熟悉 PowerShell 语法,这个工具真的很有帮助!

[*] 该链接截至 2015 年 10 月 12 日已失效。

There's an add-on for Reflector to do that.
Here's a good article with the example: http://msmvps.com/blogs/paulomorgado/archive/2009/09/18/powershell-for-the-net-developer.aspx*

.NET Reflector has an array of add-ons on CodePlex, and one of these
is the PowerShell add-on that allows you to disassemble code directly
into PowerShell.

In this example, I am opening the method ChangeAccountPassword from
the SPUtility library in SharePoint:

image

I can now change targets from C# to PowerShell.

image

When you need to convert helper methods from C# to PowerShell or if
you’re new to PowerShell syntax, this tool is really helpful!

[*] The link is dead as of 10/12/2015.

挽手叙旧 2024-07-16 12:36:08

首先,您应该使用 PowerShell 模板将 .cs 文件转换为 DLL。 然后通过使用 pssnapin 和 getproc 可以将其转换为 DLL。

First of all, you should convert your .cs file into a DLL using PowerShell template. Then by using pssnapin and getproc you can convert it into a DLL.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文