是否可以通过某种方式为我的Azure自动化帐户全局注册一个模块(.NET类库,dll)中的类型,因此Powershell Runbook不必使用Add-Type
命令即可使用这些类型?
背景知识:
我正在尝试引入适当的数据模型以用作我的Azure Logic应用程序和Runbook中的输入和输出。这些模型是在.NET类库中定义的,我已成功将该库作为模块导入。我可以使用Add-Type
命令来使用类型,但是我不知道如何将这些类型用作Powershell输入,因为Param
关键字必须是脚本中代码的第一行。
Param
(
[Parameter(Mandatory=$true)]
[MyLibrary.MyDto] $dto # ... doesn't work, the MyDto type is unknown
)
Add-Type -Path "C:\Modules\User\MyLibrary\MyLibrary.dll" # How do I avoid having to do this in all my PS runbooks?
$response = New-Object -TypeName MyLibrary.MyResponse -ArgumentList "xxx" # ... this works just fine!
# ... more stuff to come
在上面的示例中,MyResponse
的实例化有效,但是使用MyDto
作为输入参数并不可行,因为此时的类型未知。
据我所知,目前在自动化帐户中是不可能的。
如果需要该功能,可以将其发布到automation feedback。