Domanda

Ho una conoscenza discreta di C # e una conoscenza di base di PowerShell. Sto utilizzando Windows PowerShell CTP 3, che è stato davvero divertente. Ma voglio andare oltre la scrittura di script / funzioni. C'è qualche roba fresca a che fare con C #?

È stato utile?

Soluzione

Credo che la cosa più interessante si può fare con C # e PowerShell è quello di costruire cmdlet di. Questi sono essenzialmente i plugin di PowerShell che sono scritte in codice gestito e si comportano come normali funzioni. Hanno una coppia verbo-nome e molte delle funzioni che già utilizzate sono cmdlet in realtà sotto il cofano.

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

Altri suggerimenti

Al livello più alto si hanno due diverse opzioni è possibile da un programma C # ospite PowerShell ed eseguire comandi PowerShell tramite RunSpaces e tubazioni.

In alternativa, è possibile dall'interno di PowerShell eseguire codice C #. Questo può essere fatto in due modi. Con un PowerShell snap-in, una dll compilato che fornisce cmdlet di PowerShell e fornitori di navigazione, o tramite il nuovo cmdlet Add-Type , che consente di importare in modo dinamico C #, VB, C # codice. Dal help

$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 risposta è 'Dipende'. Si può fare una varietà di cose con C # (costruzione di finestre, i clienti web e client mobili).

È possibile richiamare gli script PowerShell da C #. Guardate questo sito ==>

È anche possibile convertire il codice C # per PowerShell ==> link

È possibile guardare uno dei due modi:

  1. Come è possibile sfruttare PowerShell all'interno del vostro programma C #
  2. Come è possibile sfruttare programmazione C # all'interno PowerShell.

In una certa misura, sono questioni del tutto diverse con risposte diverse.

Da C # è possibile sfruttare i motori di PowerShell, runspaces, condutture, ecc come si fa con Exchante, è possibile utilizzare C # per fare tutte le cose GUI, quindi richiamare un cmdlet PowerShell per fare tutte le cose difficili. Questa opzione è appropriata se è possibile trovare cmdlet di PowerShell o script a leva.

Da PowerShell, è possibile utilizzare C # per espandere cosa si può fare in PowerShell. È possibile creare cmdlts e fornitori per permettere ad altri di accedere ai dati delle applicazioni. Oppure si può semplicemente creare oggetti che possono essere utilizzati all'interno di uno script PowerShell. Questa opzione è il modo in cui si aiuta ad aprire l'applicazione per essere gestito in modo più automatizzato.

Quindi, a seconda di ciò che si sta cercando di fare, avete opzioni.

Hanselminutes ha diversi podcast su PowerShell, cmdlet, C # e altro ancora. E 'il migliore se si vuole imparare che cosa è, come funziona e di più. Fare una ricerca sul suo sito web per afferrare il podcast.

Elenco dei PS relativi podcast sul suo sito (in ordine cronologico inverso):

# 190: Stato di PowerShell / Lee Holmes & Jason Shirk
# 162: PowerShell 2.0
# 49: Powershell / Bruce Payette
# 36: Jeffrey Snover, PowerShell architetto
# 24: Windows PowerShell (Monade), parte II

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top