编写一个可在powershell中调用的powershell类

本文关键字:powershell 调用 一个 | 更新日期: 2023-09-27 17:53:52

使用Cmdlet,(和/或PSCmdlet),我可以创建

[Cmdlet(VerbsCommunications.Read, "Blah", SupportsShouldProcess = true)]
public class BlahBlah : PSCmdlet
{
  /// ...
}
然后,在powershell中,我可以调用命令
import-module .'Blah.dll -Verbose
Read-Blah
...

一切都好。

但是我想创建一个而不是函数,这样我就可以获得一个对象,然后在powershell

中使用它

之类的
import-module .'Blah.dll -Verbose
$myClass = New-Object Blah
$myClass.Read
$myClass.Save -File x.txt
$myClass.BlahBlah
...

以上可以在c#中完成吗?如果有,怎么做?

编写一个可在powershell中调用的powershell类

如果您想从。net程序集导入一个类,您需要使用Add-Type,而不是Import-Module:

Add-Type -Path .'Blah.dll

此时,在程序集中定义的所有公共类都可以从PowerShell中获得。