2008-12-05 5 views
6

Quelqu'un peut-il m'aider à convertir un programme C# .NET en applet de commande PowerShell? Je suis très nouveau dans cette région. S'il vous plaît aidez-moi à sortir de ce point de contrôle!Comment convertir un fichier .cs en une applet de commande PowerShell?

Regards,

Arun

+0

Double copie possible de [Méthodes de conversion du code C# en script PowerShell?] (Http://stackoverflow.com/questions/2143460/methods-to-convert-c-sharp-code-to-a-powershell-script –

Répondre

13

Ajouter une référence à System.Management.Automation, créer une classe qui hérite de Cmdlet et remplacer la méthode ProcessRecord:

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

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

Ajouter un installateur:

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

Installez votre ensemble commandlet:

Installutil /i myassembly.dll 

Et ajouter:

Add-PsSnapin MyCommandlets 
+0

FYI: System.Management.Automation peut être référencé après l'installation des assemblys de référence à partir du SDK Windows. –

+0

bon conseil. aussi bonne réponse c'est exactement ce que je cherchais. –

2

Tout d'abord, vous devez convertir votre fichier .cs dans une DLL en utilisant le modèle PowerShell. Ensuite, en utilisant pssnapin et getproc vous pouvez le convertir en une DLL.

2

Il y a un module pour que Reflector fasse cela. Voici un bon article avec l'exemple: http://msmvps.com/blogs/paulomorgado/archive/2009/09/18/powershell-for-the-net-developer.aspx *

.NET réflecteur a an array of add-ons on CodePlex, et l'un de ces est the PowerShell add-on qui vous permet de désassembler le code directement dans PowerShell.

Dans cet exemple, j'ouvre la méthode ChangeAccountPassword de la bibliothèque SPUtility dans SharePoint:

image

Je peux maintenant changer les cibles de C# à PowerShell.

image

Lorsque vous avez besoin de convertir des méthodes d'aide de C# à PowerShell ou si vous êtes nouveau à la syntaxe PowerShell, cet outil est vraiment utile!

[*] Le lien est mort en date du 10/12/2015.

+2

Le lien est mort. Voici un article récapitulatif: https://blog.lekman.com/2011/10/converting-c-to-powershell.html – Zachafer

+1

@Zachafer Merci, collé l'article par votre lien dans la réponse au cas où l'on meurt aussi . –

Questions connexes