【发布时间】:2018-02-10 18:19:01
【问题描述】:
我有一个持续运行几个月的 CI 构建流程。尽管没有任何变化,但它突然坏了,现在总是因为这个错误而失败:
在模块“SQLPS”中找到“Backup-SqlDatabase”命令,但是 无法加载该模块。有关更多信息,请运行 '导入模块 SQLPS'。
这个过程每次都会配置一个新的虚拟机,所以我猜它与 Microsoft 更新有关,但我不知道是什么。到目前为止,我能够修复它的唯一方法是在 CI 流程开始之前通过 RDP 登录到新配置的 VM。
我尝试将Import-Module SQLPS 添加到构建脚本中,却得到了更奇怪的错误消息
找不到文件“Microsoft.Azure.Commands.Profile.format.ps1xml”
我试过Install-Module SQLPS 得到了
未找到与指定搜索条件和模块名称“SQLPS”匹配的内容。
所以我加了
$modules = (Get-Module -Name "AzureRM" -Verbose)
$modules | Uninstall-Module -Force -Verbose
Install-Module AzureRM -Verbose -Force
Import-Module SQLPS
但我现在遇到了一个新错误:
"进程无法访问文件'C:\Program 文件\WindowsPowerShell\Modules\AzureRM.profile\3.3.1\Hyak.Common.dll' 因为它正被另一个进程使用。”
我觉得我在兜圈子。这是微软更新还是什么?谁能告诉我如何修复我的 AzureRM 模块,这在我看来是以某种方式破坏了我的 SQLPS 模块?
【问题讨论】:
-
您是否尝试过卸载并重新安装它们的模块?
-
@Persistent13 我确实尝试过,但据说找不到模块。我编辑了我的问题。
-
这不是问题的直接答案,但如果您想安装 SQL Server 模块,则需要运行
Install-Module -Name SqlServer,因为 SQLPS 在 PowerShell 库中不可用。但是,它仍然可以满足您的需求。请务必先删除 SQLPS,否则会遇到冲突。 -
@Persistent13 感谢您的建议,但在实施它们后,我收到了与导入 SQLPS 时相同的“找不到文件 ...Commands.Profile.format.ps1xml”错误。
标签: powershell azure azure-powershell sqlps