Pregunta

Tengo una idea bastante acertada de C # y un conocimiento muy básico de PowerShell. Estoy usando Windows PowerShell CTP 3, que ha sido muy divertido. Pero quiero ir más allá de escribir scripts / funciones. ¿Hay cosas interesantes que ver con C #?

¿Fue útil?

Solución

Creo que lo más interesante que puede hacer con C # y PowerShell es la construcción de cmdlet. Estas son esencialmente los plugins a PowerShell que se escriben en código administrado y actúan como funciones normales. Tienen un par de verbo-nombre y muchas de las funciones que ya utiliza en realidad son cmdlets bajo el capó.

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

Otros consejos

En el nivel superior tiene dos opciones diferentes que puede desde un C # programa de acogida PowerShell y ejecutar comandos de PowerShell a través de espacios de ejecución y tuberías.

O sea posible desde el interior de PowerShell de ejecución de C # código. Esto puede hacerse de dos maneras. Con un complemento PowerShell, un DLL compilado que proporciona cmdlets de PowerShell y proveedores de navegación, o mediante el cmdlet nuevo Add-Type , que le permite importar de forma dinámica C #, Visual Basic, C # código. De la ayuda

$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)

respuesta es 'depende'. Se puede hacer una variedad de cosas con C # (construcción de ventanas, los clientes web y clientes móviles).

Puede invocar scripts de PowerShell desde C #. Mira este sitio ==>

Puede incluso convertir su código C # a powershell ==> enlace

Puede mirarlo una de dos maneras:

  1. ¿Cómo se puede aprovechar PowerShell dentro de su programa en C #
  2. ¿Cómo se puede aprovechar de programación C # dentro de PowerShell.

Hasta cierto punto, son bastante diferentes preguntas con respuestas diferentes.

A partir de C # puede aprovechar el motor PowerShell, espacios de ejecución, canalizaciones, etc., como se hace con Exchante, puede utilizar C # para hacer todas las cosas GUI y luego invoque un cmdlet de PowerShell para hacer todas las cosas difíciles. Esta opción es adecuada si se puede encontrar cmdlets de PowerShell o scripts a apalancamiento.

A partir de PowerShell, se utiliza C # para ampliar lo que se puede hacer en PowerShell. Puede crear cmdlts y los proveedores para que otros puedan acceder a los datos de aplicación. O simplemente puede crear objetos que se pueden utilizar dentro de un script de PowerShell. Esta opción es la forma en que ayudan a abrir su aplicación para gestionar de una manera más automatizada.

Así que dependiendo de lo que usted está buscando para hacer, usted tiene opciones.

Scott Hanselman aka Hanselminutes tiene varios podcasts sobre Powershell, los cmdlets, C # y más. Es el mejor si usted quiere aprender lo que es, cómo funciona y más. Hacer una búsqueda en su sitio web para agarrar el podcast.

Lista de PS relacionados con podcasts en su sitio (en orden cronológico inverso):

# 190: Estado de Powershell / Lee Holmes & Jason Shirk
# 162: Powershell 2.0
# 49: Powershell / Bruce Payette
# 36: Jeffrey Snover, arquitecto Powershell
# 24: Windows Powershell (MÓNADA), Parte II

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top