0

使用 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#中完成吗?如果是这样,怎么做?

4

1 回答 1

1

如果要从 .NET 程序集中导入类,则需要使用Add-Type,而不是Import-Module

Add-Type -Path .\Blah.dll

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

于 2016-07-01T06:52:52.630 回答