Pergunta

Eu tenho uma compreensão decente de C # e uma compreensão muito básica de PowerShell. Estou usando o Windows PowerShell CTP 3, que tem sido muito divertido. Mas eu quero ir além de escrever os scripts / funções. Existe alguma coisa legal para fazer com C #?

Foi útil?

Solução

Eu acho que a coisa mais interessante que você pode fazer com C # e PowerShell é construir cmdlet do. Estes são essencialmente plugins para PowerShell que são escritos em código gerenciado e agir como funções normais. Eles têm um par verbo-substantivo e muitas das funções que você já usa são realmente cmdlets sob o capô.

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

Outras dicas

No nível mais alto você tem duas opções diferentes que você pode de um C # anfitrião do programa PowerShell e executar comandos PowerShell via espaços de execução e dutos.

Ou você pode a partir de dentro PowerShell executar código C #. Isso pode ser feito de duas maneiras. Com um snap-in PowerShell, uma DLL compilada que fornece cmdlets PowerShell e provedores de navegação, ou através do novo cmdlet Add-Type , que permite dinamicamente importação C #, VB, F # código. Desde a ajuda

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

A resposta é 'Depende'. Você pode fazer uma variedade de coisas com c # (windows construir, clientes da web e clientes móveis).

Você pode chamar scripts do PowerShell de C #. Olhe para este site ==> ligação

Você pode até mesmo converter seu código C # para PowerShell ==> ligação

Você pode olhá-lo de duas maneiras:

  1. Como você pode alavancar PowerShell dentro do seu programa C #
  2. Como você pode alavancar programação C # dentro PowerShell.

Até certo ponto, eles são bastante diferentes perguntas com respostas diferentes.

De C # você pode aproveitar o motor PowerShell, espaços de execução, encanamentos de, etc. Como é feito com Exchante, você pode usar C # para fazer todas as coisas GUI, em seguida, chamar um PowerShell cmdlet para fazer todas as coisas difíceis. Esta opção é apropriada se você pode encontrar cmdlets PowerShell ou scripts para alavancagem.

De PowerShell, você pode usar C # para expandir o que você pode fazer em PowerShell. Você pode criar cmdlts e fornecedores para permitir que outros dados de aplicativo de acesso. Ou você pode apenas criar objetos que podem ser usados ??dentro de um script PowerShell. Esta opção é a maneira como você ajudar a abrir o seu aplicativo a ser gerida de uma forma mais automatizada.

Então, dependendo do que você está procurando fazer, você tem opções.

Scott Hanselman aka Hanselminutes tem vários podcasts sobre PowerShell, os cmdlets, C # e muito mais. É o melhor se você quiser saber o que é, como funciona e muito mais. Faça uma pesquisa em seu site para agarrar o podcast.

podcasts Lista de PS relacionados em seu local (em ordem cronológica inversa):

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

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top