2008-08-25 7 views
13

Ich möchte Powershell verwenden, um einige Dienstprogramme zu schreiben und unsere eigenen .NET-Komponenten für die eigentliche Arbeit zu nutzen. Dies ist anstelle einer kleinen Konsole App schreiben, um die Anrufe zusammen zu binden. Meine Frage ist, wo ich eine gute Quelle für Dokumentation oder Tutorial-Material finden würde, um mir dabei zu helfen, das zu verfolgen?Zugriff auf .NET-Komponenten von Powershell

+0

Haben Sie Informationen brauchen, um über einfach .NET-Assemblies in Powershell, oder suchen Sie Informationen über das Schreiben Anordnungen, die mehr Powershell freundlich? – EBGreen

Antwort

16

Wenn Sie eine Baugruppe in Ihre PowerShell-Sitzung laden möchten, können Sie die Reflektion verwenden und die Baugruppe laden.

Nachdem Sie Ihre Assembly geladen haben, können Sie statische Methoden aufrufen und neue Instanzen einer Klasse erstellen.

Ein gutes Tutorial finden Sie here.

Beide von EBGreen erwähnten Bücher sind ausgezeichnet. Das PowerShell Cookbook ist sehr aufgabenorientiert und PowerShell in Action ist eine großartige Beschreibung der Sprache, ihres Fokus und ihrer Nutzbarkeit. PowerShell in Action ist eines meiner Lieblingsbücher. :)

+0

+1: für den netten Tutorial-Link – Sung

+1

@Sung Danke, ich arbeite tatsächlich an einer Serie über die Verwendung von .NET von PowerShell auf meinem Blog - http://blog.usepowershell.com/category/net-framework/introduction/ –

+0

:/Links sind tot, können Sie sie aktualisieren? Hier ist ein anderer, den ich gefunden habe http://www.dougfinke.com/blog/index.php/2010/08/29/how-to-load-net-assemblies-in-a-powershell-session/ nützlich –

4

Der Link, den Steven gepostet hat, ist ein gutes Beispiel. Ich kenne kein ausführliches Tutorial. Sowohl die Windows Powershell Cookbook als auch die Windows Powershell In Action haben gute Kapitel zu diesem Thema. Sehen Sie sich auch die :: LoadFromFile-Methode der System.Reflection.Assembly-Klasse an, falls Ihre internen Assemblys nicht im GAC geladen sind.

0

können Sie [] verwenden oder add-type -AssemblyName "System.example" verwenden Montage beispielsweise Gebrauch zu verwenden:

[system.drawing]::class ...