2008-12-05 46 views
6

Có ai có thể giúp tôi chuyển đổi chương trình C# .NET sang PowerShell cmdlet không? Tôi rất mới trong lĩnh vực này. Xin hãy giúp tôi ra khỏi trạm kiểm soát này!Làm thế nào để chuyển đổi tệp .cs sang lệnh ghép ngắn PowerShell?

Kính trọng,

Arun

+0

Bản sao có thể có của [Phương pháp chuyển đổi mã C# thành tập lệnh PowerShell?] (Http://stackoverflow.com/questions/2143460/methods-to-convert-c-sharp-code-to-a-powershell-script) –

Trả lời

13

Thêm một tham chiếu đến System.Management.Automation, tạo ra một lớp kế thừa từ Cmdlet và ghi đè lên ProcessRecord phương pháp:

[Cmdlet(VerbsCommon.Get, "Double")] 
public class GetDouble : Cmdlet 
{ 
    [Parameter] 
    public int SomeInput { get; set; } 

    protected override void ProcessRecord() 
    { 
     WriteObject(SomeInput * 2); 
    } 
} 

Thêm trình cài đặt:

[RunInstaller(true)] 
public class MySnapin : PSSnapIn 
{ 
    public override string Name { get { return "MyCommandlets"; } } 
    public override string Vendor { get { return "MyCompany"; } } 
    public override string Description { get { return "Does unnecessary aritmetic."; } } 
} 

Cài đặt lắp ráp commandlet của bạn:

Installutil /i myassembly.dll 

Và thêm:

Add-PsSnapin MyCommandlets 
+0

FYI: System.Management.Automation có thể được tham chiếu sau khi cài đặt các Assemblies tham khảo từ Windows SDK. –

+0

mẹo hay. cũng câu trả lời tuyệt vời này là chính xác những gì tôi đang tìm kiếm. –

2

Trước hết, bạn nên chuyển đổi cs của bạn tập tin vào một DLL sử dụng PowerShell mẫu. Sau đó, bằng cách sử dụng pssnapingetproc bạn có thể chuyển đổi nó thành một DLL.

2

Có một tiện ích bổ sung cho Trình phản xạ để thực hiện điều đó. Dưới đây là một bài viết tốt với các ví dụ: http://msmvps.com/blogs/paulomorgado/archive/2009/09/18/powershell-for-the-net-developer.aspx *

NET Reflector có an array of add-ons on CodePlex, và là một trong những là the PowerShell add-on cho phép bạn tháo rời mã trực tiếp vào PowerShell.

Trong ví dụ này, tôi đang mở phương pháp ChangeAccountPassword từ thư viện SPUtility trong SharePoint:

image

tôi bây giờ có thể thay đổi mục tiêu từ C# để PowerShell.

image

Khi bạn cần phải chuyển đổi phương pháp helper từ C# để PowerShell hoặc nếu bạn mới đến cú pháp PowerShell, công cụ này là thực sự hữu ích!

[*] Liên kết đã chết vào ngày 10/12/2015.

+2

Liên kết đã chết. Đây là bài viết tóm tắt: https://blog.lekman.com/2011/10/converting-c-to-powershell.html – Zachafer

+1

@Zachafer Cảm ơn bạn, đã dán bài viết bằng liên kết của bạn vào câu trả lời trong trường hợp một người chết cũng . –

Các vấn đề liên quan