我需要在 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 吗?如果是这样,怎么做?