创建adalsql.dll Azure自动化模块(该模块应包含程序集清单)

时间:2017-07-14 15:55:57

标签: powershell azure azure-automation powershell-module

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

1 个答案:

答案 0 :(得分:1)

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

我建议你给Azure一个feedback。它应该得到Azure的支持。