Может ли кто-нибудь помочь мне преобразовать программу C# .NET в командлет PowerShell? Я новичок в этой области. Пожалуйста, помогите мне выбраться с этого КПП!
С уважением,
Арун





Добавьте ссылку на System.Management.Automation, создайте класс, наследующий от Командлет, и переопределите метод ProcessRecord:
[Cmdlet(VerbsCommon.Get, "Double")]
public class GetDouble : Cmdlet
{
[Parameter]
public int SomeInput { get; set; }
protected override void ProcessRecord()
{
WriteObject(SomeInput * 2);
}
}
Добавьте установщик:
[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."; } }
}
Установите сборку вашего командлета:
Installutil /i myassembly.dll
И добавить:
Add-PsSnapin MyCommandlets
К вашему сведению: на System.Management.Automation можно ссылаться после установки эталонных сборок из Windows SDK.
отличный совет. также отличный ответ, это именно то, что я искал.
Прежде всего, вы должны преобразовать ваш CS-файл в DLL с помощью шаблона PowerShell. Затем, используя pssnapin и getproc, вы можете преобразовать его в DLL.
Для этого есть надстройка Reflector. Вот хорошая статья с примером: http://msmvps.com/blogs/paulomorgado/archive/2009/09/18/powershell-for-the-net-developer.aspx *
.NET Reflector has an array of add-ons on CodePlex, and one of these is the PowerShell add-on that allows you to disassemble code directly into PowerShell.
In this example, I am opening the method ChangeAccountPassword from the SPUtility library in SharePoint:
I can now change targets from C# to PowerShell.
When you need to convert helper methods from C# to PowerShell or if you’re new to PowerShell syntax, this tool is really helpful!
[*] Ссылка мертвая по состоянию на 12.10.2015.
Ссылка мертва. Вот итоговая статья: blog.lekman.com/2011/10/converting-c-to-powershell.html
@Zachafer Спасибо, вставил статью по вашей ссылке в ответ на случай, если она тоже умрет.
Возможный дубликат Способы преобразования кода C# в сценарий PowerShell?