2008-08-25 7 views
13

Deseo utilizar Powershell para escribir algunas utilidades, aprovechando nuestros propios componentes .NET para manejar el trabajo real. Esto es en lugar de escribir una pequeña aplicación de consola para unir las llamadas. Mi pregunta es dónde encontraría una buena fuente de documentación o material tutorial para ayudarme a rastrear esto rápidamente.Acceso a componentes .NET de Powershell

+0

¿Necesita información sobre el simple uso de ensamblados .NET en PowerShell, o está buscando información sobre los conjuntos de escritura que son más PowerShell ¿amistoso? – EBGreen

Respuesta

16

Si desea cargar un conjunto en su sesión de PowerShell, puede usar el reflejo y cargar el conjunto.

[void][System.Reflection.Assembly]::LoadFrom(PathToYourAssembly) 

Después de cargar el conjunto, puede llamar a métodos estáticos y crear nuevas instancias de una clase.

Un buen tutorial se puede encontrar here.

Ambos libros mencionados por EBGreen son excelentes. El Cookbook de PowerShell está muy orientado a las tareas y PowerShell en acción es una excelente descripción del idioma, su enfoque y su capacidad de uso. PowerShell en acción es uno de mis libros favoritos. :)

+0

+1: por el bonito enlace tutorial – Sung

+1

@Sung Gracias, en realidad estoy trabajando en una serie sobre el uso de .NET de PowerShell en mi blog - http://blog.usepowershell.com/category/net-framework/introduction/ –

+0

:/los enlaces están muertos, ¿puedes actualizarlos? aquí hay otro que encontré http://www.dougfinke.com/blog/index.php/2010/08/29/how-to-load-net-assemblies-in-a-powershell-session/ útil –

4

El enlace que Steven publicó es un buen ejemplo. No conozco ningún tutorial extenso. Tanto el Windows Powershell Cookbook como el Windows Powershell In Action tienen buenos capítulos sobre el tema. Además, observe el método :: LoadFromFile de la clase System.Reflection.Assembly en caso de que sus ensamblajes internos no estén cargados en el GAC.

0

puede utilizar [] o utilizar add-type -AssemblyName "System.example" utilizar el montaje, por ejemplo, el uso:

[system.drawing]::class ... 
Cuestiones relacionadas