2

我需要在 Azure 自动化中使用 adalsql.dll,以便我可以通过 Active Directory 密码身份验证模式连接到 Azure SQL。有关详细信息,请参阅此帖子:Azure 自动化中的 Active Directory 密码连接 Azure SQL 失败

下载此 MSI 会将 adalsql.dll 提取到 C:\Windows\System32:https ://www.microsoft.com/en-us/download/details.aspx?id=48742

根据研究和给出的建议,创建 Azure 自动化模块似乎是可行的方法。但是,当我只需要添加 DLL 时,我还没有找到有关如何创建模块的指导。

我创建了以下目录结构(我最终压缩上传):

Microsoft.ADAL.SQL
     Microsoft.ADAL.SQL.psd1 (Manifest)
     Microsoft.ADAL.SQL.psm1 (actual PowerShell to load the dll)
     adalsql.dll 

在我的 psm1 文件中,我使用以下内容:

Add-Type -Path "C:\Modules\User\Microsoft.ADAL.SQL\adalsql.dll"

我可以将其导入 Azure 自动化,它显示为可用(文件位于“C:\Modules\User\Microsoft.ADAL.SQL”目录中,但是当我运行 Runbook 时,它会失败并显示与以前相同的消息:

新对象:使用“1”参数调用“.ctor”的异常:“不支持关键字:'身份验证'。”

如果在我的 Runbook 中添加上面的 Add-Type 行,它也会生成以下错误:

Add-Type : 无法加载文件或程序集 'file:///C:\Modules\User\Microsoft.ADAL.SQL\adalsql.dll' 或其依赖项之一。该模块应包含程序集清单。

我需要调整我的 PowerShell 来加载 dll 吗?如果是这样,怎么做?

4

1 回答 1

2

据我所知,即使您将 dll 导入 Azure 自动化帐户,它也不是 PowerShell 命令。您也无法使用 dll。

我建议您可以向 Azure提供反馈。Azure 应该支持它。

于 2017-07-18T01:45:27.647 回答