2009-04-12 2 views
42

私はC#についてよく理解しており、powershellについての基本的な知識があります。私はWindows PowerShell CTP 3を使用しています。これは本当に面白かったです。しかし、私はスクリプトや関数を書くことを超えて行きたい。 C#でやるべきことはありますか?C#とPowershellで何ができますか?

答えて

34

==>のPowerShellに変換することができますlink

==>このサイトを見てください、私はあなたがC#とのPowerShellを使用して実行できる最も興味深いのは、コマンドレットのを構築することだと思います。これらは基本的にPowerShellのプラグインであり、管理されたコードで記述され、通常の機能のように動作します。それらは動詞と名詞のペアを持ち、既に使用している関数の多くは実際にはフードの下にあるコマンドレットです。最高レベルでは

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

+0

+1コマンドレットは、例えば、本当に強力することができ管理対象のアプリケーションおよびサービスへのコマンドラインインターフェイスを提供します。 –

8

回答は「それは依存しています。 C#(ウィンドウ、Webクライアント、モバイルクライアントの作成)でさまざまなことができます。

C#からPowerShellスクリプトを呼び出すことができます。あなたも、あなたのC#のコードはlink

56

あなたは、C#のプログラムのホストのPowerShellからあなたができる2つの異なるオプションを持っており、PowerShellが実行空間とパイプラインを経由してコマンドを実行します。

またはPowerShell内からC#コードを実行できます。これは2つの方法で行うことができます。 PowerShellスナップイン、PowerShellコマンドレットとナビゲーションプロバイダを提供するコンパイル済みのdll、または新しいコマンドレットAdd-Typeを使用すると、C#、VB、F#コードを動的にインポートできます。ヘルプ

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

+1アプリケーション用のスクリプトエンジンとしてPowerShellをホストします。急速に主要なツールとなっている言語を使用した.NETスクリプト作成機能。 –

+0

VBコードをプラグインする方法はありますか? –

+3

David - はいあります。 [-Language {CSharp | CSharpVersion3 | VisualBasic | JScript}]フラグ –

5

から、あなたはそれを2つの方法の1見ることができます。

  1. をどのようにどのようにPowerShellの内部のC#プログラミングを活用することができます
  2. あなたのC#のプログラム内PowerShellを活用することができます。

ある程度、異なる回答ではかなり異なる質問です。

PowerShellエンジン、ランスペース、パイプラインなどを活用することができます。Exchanteの場合と同様に、C#を使用してすべてのGUIを実行し、PowerShellコマンドレットを呼び出してすべてのハードを処理できます。このオプションは、PowerShellのコマンドレットまたはスクリプトを利用できる場合に適しています。

PowerShellでは、C#を使用してPowerShellでできることを拡張しています。 cmdltsとプロバイダを作成して、他のユーザーがアプリケーションデータにアクセスできるようにすることができます。または、PowerShellスクリプト内で使用できるオブジェクトを作成することもできます。このオプションは、より自動化された方法で管理するアプリケーションを開くために役立ちます。

あなたが探していることに応じて、オプションがあります。

2

Scott Hanselman aka HanselminutesにはPowershell、CmdLets、C#などのポッドキャストがいくつかあります。それが何であるか、それがどのように機能するかなどを学びたいなら、それは最高です。彼のウェブサイトでPodcastを入手するための検索を行います。(新しいものから順に)自分のサイト上でPS関連ポッドキャストの

一覧:

#190: State of Powershell/Lee Holmes & Jason Shirk
#162: Powershell 2.0
#49: Powershell/Bruce Payette
#36: Jeffrey Snover, Powershell architect
#24: Windows Powershell (MONAD), Part II

関連する問題