Question

J'ai une compréhension décente de C # et une compréhension de base de Powershell. J'utilise Windows PowerShell CTP 3, qui a été vraiment amusant. Mais je veux aller au-delà de l'écriture de scripts / fonctions. Y at-il des choses cool à faire avec C #?

Était-ce utile?

La solution

Je pense que la chose la plus intéressante que vous pouvez faire avec C # et PowerShell est de construire CmdLet de. Ce sont essentiellement des plugins à PowerShell qui sont écrits en code managé et agissent comme des fonctions normales. Ils ont une paire de verbe-nom et la plupart des fonctions que vous utilisez déjà sont CmdLets en fait sous le capot.

http://msdn.microsoft.com/en-us/magazine/ cc163293.aspx

Autres conseils

Au plus haut niveau, vous avez deux options différentes, vous pouvez à partir d'un C # programme hôte PowerShell et exécuter des commandes PowerShell via RunSpaces et pipelines.

Ou vous pouvez à partir intrasérielle PowerShell code C #. Cela peut se faire de deux façons. Avec un PowerShell snapin, un dll compilé qui fournit des applets de commande PowerShell et les fournisseurs de navigation, ou via la nouvelle applet de commande Add-type , qui vous permet d'importer dynamiquement C #, VB, F # code. De l'aide

$source = @"
public class BasicTest
{
    public static int Add(int a, int b)
    {
        return (a + b);
    }

    public int Multiply(int a, int b)
    {
        return (a * b);
    }
}
"@

Add-Type -TypeDefinition $source
[BasicTest]::Add(4, 3)
$basicTestObject = New-Object BasicTest 
$basicTestObject.Multiply(5, 2)

La réponse est « ça dépend ». Vous pouvez faire une variété de choses avec c # (construire des fenêtres, des clients Web et les clients mobiles).

Vous pouvez appeler des scripts PowerShell de C #. Regardez ce site ==>

Vous pouvez même convertir votre code c # pour powershell ==> lien

Vous pouvez regarder une des deux façons suivantes:

  1. Comment pouvez-vous tirer parti de PowerShell dans votre programme C #
  2. Comment pouvez-vous tirer parti de la programmation C # dans PowerShell.

Dans une certaine mesure, ils sont des questions tout à fait différentes avec des réponses différentes.

De C # vous pouvez exploiter le moteur PowerShell, runspaces, pipe-lines, etc. Comme on le fait avec Exchante, vous pouvez utiliser C # pour faire tous les trucs de GUI, puis appeler une applet de commande PowerShell pour faire toutes les choses difficiles. Cette option est appropriée si vous pouvez trouver cmdlets PowerShell ou des scripts à effet de levier.

De PowerShell, vous utilisez C # pour développer ce que vous pouvez faire dans PowerShell. Vous pouvez créer cmdlts et les fournisseurs pour permettre aux autres d'accéder aux données d'application. Ou vous pouvez simplement créer des objets qui peuvent être utilisés dans un script PowerShell. Cette option est la façon dont vous aider à ouvrir à gérer de manière plus automatisée votre application.

Donc, en fonction de ce que vous cherchez à faire, vous avez des options.

Scott Hanselman alias Hanselminutes a plusieurs podcasts sur Powershell, CmdLets, C # et plus. Il est le meilleur si vous voulez savoir ce qu'il est, comment il fonctionne et plus. Faites une recherche sur son site pour saisir le podcast.

Liste des podcasts PS liés sur son site (dans l'ordre chronologique inverse):

# 190: État de Powershell / Lee Holmes & Jason Shirk
# 162: Powershell 2.0
# 49: Powershell / Bruce Payette
# 36: Jeffrey Snover, architecte Powershell
# 24: Windows Powershell (Monade), Partie II

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top