2008-08-25 31 views
13

Tôi muốn sử dụng Powershell để viết một số tiện ích, tận dụng các thành phần .NET của chúng ta để xử lý công việc thực tế. Đây là nơi viết một ứng dụng giao diện điều khiển nhỏ để kết hợp các cuộc gọi với nhau. Câu hỏi của tôi là nơi tôi sẽ tìm thấy một nguồn tài liệu hay tài liệu hướng dẫn tốt để giúp tôi nhanh chóng theo dõi điều này?Truy cập các thành phần .NET từ Powershell

+0

Bạn có cần thông tin về chỉ đơn giản là sử dụng cụm Net trong PowerShell, hoặc bạn đang tìm kiếm thông tin về văn bản hội mà PowerShell hơn thân thiện? – EBGreen

Trả lời

16

Nếu bạn muốn tải một assembly vào phiên PowerShell của mình, bạn có thể sử dụng sự phản chiếu và tải assembly.

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

Sau khi bạn tải lắp ráp, bạn có thể gọi phương thức tĩnh và tạo phiên bản mới của lớp học.

Hướng dẫn tốt có thể được tìm thấy here.

Cả hai cuốn sách được đề cập bởi EBGreen đều tuyệt vời. PowerShell Cookbook rất có nhiệm vụ định hướng và PowerShell in Action là một mô tả tuyệt vời về ngôn ngữ, trọng tâm và khả năng sử dụng của nó. PowerShell in Action là một trong những cuốn sách yêu thích của tôi. :)

+0

+1: cho liên kết hướng dẫn tốt đẹp – Sung

+1

@Sung Cảm ơn, tôi đang thực sự làm việc trên loạt bài về cách sử dụng .NET từ PowerShell trên blog của tôi - http://blog.usepowershell.com/category/net-framework/introduction/ –

+0

:/liên kết đã chết, bạn có thể cập nhật chúng không? đây là một số khác tôi đã tìm thấy http://www.dougfinke.com/blog/index.php/2010/08/29/how-to-load-net-assemblies-in-a-powershell-session/ hữu ích –

4

Liên kết mà Steven đăng là một ví dụ hay. Tôi không biết về bất kỳ hướng dẫn mở rộng nào. Cả hai số Windows Powershell CookbookWindows Powershell In Action đều có các chương tốt về chủ đề này. Ngoài ra, hãy xem phương thức :: LoadFromFile của lớp System.Reflection.Assembly trong trường hợp các assembly trong nhà của bạn không được nạp trong GAC.

0

bạn có thể sử dụng hoặc sử dụng []add-type -AssemblyName "System.example" sử dụng lắp ráp ví dụ sử dụng:

[system.drawing]::class ... 
Các vấn đề liên quan