我需要在Azure自动化中使用adalsql.dll,以便我可以通过Active Directory密码身份验证模式连接到Azure SQL。有关详细信息,请参阅此帖子:Active Directory Password Connection Azure SQL Failure from Azure Automation
下载此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时,它会失败并且相同消息与以前一样:
New-Object:使用“1”参数调用“.ctor”的异常:“关键字 不支持:'authentication'。“
如果在我的Runbook中添加上面的Add-Type行,它还会生成错误:
Add-Type:无法加载文件或程序集 'file:/// C:\ Modules \ User \ Microsoft.ADAL.SQL \ adalsql.dll'或其中一个 依赖。该模块应该包含一个程序集清单。
我是否需要调整PowerShell才能加载dll?如果是这样,怎么样?
答案 0 :(得分:1)
据我所知,即使您将dll导入Azure自动化帐户,它也不是PowerShell命令。你也无法使用DLL。
我建议你给Azure一个feedback。它应该得到Azure的支持。