2008-08-25 28 views
13

Je souhaite utiliser Powershell pour écrire des utilitaires, en tirant parti de nos propres composants .NET pour gérer le travail réel. C'est à la place d'écrire une petite application de console pour lier les appels ensemble. Ma question est où je trouverais une bonne source de documentation ou de matériel tutoriel pour m'aider à accélérer ce suivi?Accéder aux composants .NET à partir de Powershell

+0

Avez-vous besoin d'informations sur les simplement en utilisant des assemblages .Net dans Powershell, ou recherchez-vous pour plus d'informations sur les ensembles d'écriture qui sont plus powershell amical? – EBGreen

Répondre

16

Si vous souhaitez charger un assemblage dans votre session PowerShell, vous pouvez utiliser la réflexion et charger l'assemblage. Après avoir chargé votre assembly, vous pouvez appeler des méthodes statiques et créer de nouvelles instances d'une classe.

Un bon tutoriel peut être trouvé here.

Les deux livres mentionnés par EBGreen sont excellents. Le livre de recettes PowerShell est très axé sur les tâches et PowerShell in Action est une excellente description du langage, de son orientation et de son utilisation. PowerShell in Action est l'un de mes livres préférés. :)

+0

+1: pour le joli tutoriel lien – Sung

+1

@Sung Merci, je travaille actuellement sur une série sur l'utilisation de .NET de PowerShell sur mon blog - http://blog.usepowershell.com/category/net-framework/introduction/ –

+0

:/liens sont morts, pouvez-vous les mettre à jour? en voici un autre que j'ai trouvé http://www.dougfinke.com/blog/index.php/2010/08/29/how-to-load-net-assemblies-in-a-powershell-session/ utile –

4

Le lien que Steven a posté est un bon exemple. Je ne connais pas de tutoriel étendu. Les deux Windows Powershell Cookbook et Windows Powershell In Action ont de bons chapitres sur le sujet. Regardez également la méthode :: LoadFromFile de la classe System.Reflection.Assembly dans le cas où vos assemblys internes ne sont pas chargés dans le GAC.

0

vous pouvez utiliser [] ou utiliser add-type -AssemblyName "System.example" pour utiliser l'assemblage par exemple l'utilisation:

[system.drawing]::class ...