2008-12-05 13 views
6

¿Alguien me puede ayudar a convertir un programa .NET de C# al cmdlet de PowerShell? Soy muy nuevo en esta área. ¡Por favor, ayúdame a salir de este punto de control!Cómo convertir archivos .cs a un cmdlet de PowerShell?

Saludos,

Arun

+0

Posible duplicado de [Métodos para convertir el código C# a un script de PowerShell?] (Http://stackoverflow.com/questions/2143460/methods-to-convert-c-sharp-code-to-a-powershell-script) –

Respuesta

13

Añadir una referencia a System.Management.Automation, cree una clase que hereda de Cmdlet y anular la ProcessRecord método:

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

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

Agregue un instalador:

[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."; } } 
} 

instalar su montaje commandlet:

Installutil /i myassembly.dll 

y añadir:

Add-PsSnapin MyCommandlets 
+0

FYI: Se puede hacer referencia a System.Management.Automation después de instalar los ensamblados de referencia desde el SDK de Windows. –

+0

gran consejo. también una gran respuesta, esto es exactamente lo que estaba buscando. –

2

En primer lugar, se debe convertir el archivo .cs en una DLL usando la plantilla PowerShell. Luego, usando pssnapin y getproc puede convertirlo en una DLL.

2

Hay un complemento para Reflector para hacer eso. He aquí un buen artículo con el ejemplo: http://msmvps.com/blogs/paulomorgado/archive/2009/09/18/powershell-for-the-net-developer.aspx *

.NET Reflector tiene an array of add-ons on CodePlex, y uno de ellos es the PowerShell add-on que le permite desmontar código directamente en PowerShell.

En este ejemplo, estoy abriendo el método ChangeAccountPassword de la biblioteca SPUtility en SharePoint:

image

ahora puedo cambiar objetivos de C# para PowerShell.

image

Cuando es necesario convertir los métodos de ayuda de C# para PowerShell o si eres nuevo en la sintaxis de PowerShell, esta herramienta es muy útil!

[*] El enlace está muerto a partir del 10/12/2015.

+2

El enlace está muerto. Aquí hay un artículo que resume: https://blog.lekman.com/2011/10/converting-c-to-powershell.html – Zachafer

+1

@ Zachafer Gracias, pegó el artículo por su enlace en la respuesta en caso de que uno muera también . –

Cuestiones relacionadas