Azure Powershell命令不起作用,在模块中找到命令,但是无法加载模块

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Azure Powershell命令不起作用,在模块中找到命令,但是无法加载模块相关的知识,希望对你有一定的参考价值。

我已经在winform中使用Az模块来控制Azure Winform,但是从winform执行脚本时出错。

Using objPS As PowerShell = PowerShell.Create()
    'Create the Selected Snapshot to VM OS Disk
    Dim strPowerShellScriptCreateOsDisk = "$storageType = 'StandardSSD_LRS'
                                           $location = 'Southeast Asia'
                                           $diskSizeGB = 64
                                           $snapshot = Get-AzSnapshot -ResourceGroupName '" & gstrResourceGroupName & "' -SnapshotName '" & gstrSelectedSnapshot & "' 
                                                             $osDisk = New-AzDisk -DiskName '" & gstrSelectedSnapshot & "_" & gstrVmName & "' -Disk `
                                                             (New-AzDiskConfig -AccountType $storageType -DiskSizeGB $diskSizeGB `
                                                             -Location $location -CreateOption Copy `
                                                             -SourceResourceId $snapshot.Id) `
                                                             -ResourceGroupName '" & gstrResourceGroupName & "'"

            'Swap the Created VM OS Disk to Virtual Machine
            Dim strPowerShellScriptSwapOsDisk = "$vm = Get-AzVM -ResourceGroupName '" & gstrResourceGroupName & "' -Name '" & gstrVmName & "'
                                             $disk = Get-AzDisk -ResourceGroupName '" & gstrResourceGroupName & "' -Name '" & gstrSelectedSnapshot & "_" & gstrVmName & "' 
                                             Set-AzVMOSDisk -VM $vm -ManagedDiskId $disk.Id -Name $disk.Name 
                                             Update-AzVM -ResourceGroupName '" & gstrResourceGroupName & "' -VM $vm"


            'Delete the Replaced Old Disk from Azure Storage
            Dim strPowerShellScriptDeleteDisk = "Remove-AzDisk -ResourceGroupName '" & gstrResourceGroupName & "' -DiskName '" & strOldDisk & "' -Force"


            objPS.AddScript(strPowerShellScriptConnectAccount + vbNewLine + strPowerShellScriptCreateOsDisk + vbNewLine + strPowerShellScriptSwapOsDisk + vbNewLine + strPowerShellScriptDeleteDisk)

            ' Check if objResult is Nothing then Ignore
            For Each objResult As PSObject In objPS.Invoke()
                If objResult IsNot Nothing Then Debug.WriteLine(objResult.ToString())
            Next
        End Using

它在我的计算机上可以运行,但是当我将该exe发布到另一台计算机上时,该功能不再起作用。我收到这些错误

在模块'Az.Accounts'中找到'Disconnect-AzAccount'命令,但是无法加载该模块。有关更多信息,请运行“导入模块Az.Accounts”。

在模块'Az.Compute'中找到'Get-AzSnapshot'命令,但是无法加载该模块。有关更多信息,请运行“导入模块Az.Compute”

但是我确保目标计算机Azure Powershell,az模块,.net核心和.net框架已安装并更新。我需要在目标计算机上安装任何动作吗?

答案

此错误似乎是由于潜在的模块不兼容而发生的。请在此处检查相同的可能原因:Symptom: Cannot load Az modules in Windows PowerShell。一旦安装了所有最新模块,请仔细阅读文档中提供的所有疑难解答,以交叉检查并重新启动系统。

其他参考:

尽管尝试了上述步骤,请让我们知道问题是否仍然存在,我们可以进行进一步调查。感谢您的耐心等待!

以上是关于Azure Powershell命令不起作用,在模块中找到命令,但是无法加载模块的主要内容,如果未能解决你的问题,请参考以下文章

Start-Sleep 在 Runbook powershell 工作流程中不起作用

如何在 Azure PowerShell 的错误消息中隐藏敏感值?

从存储容器恢复 Azure Linux webapp 备份失败 PowerShell

适用于 Linux 的 Powershell:将命令与管道符号结合起来不起作用

纱线已安装但不起作用。命令被识别,但没有纱线命令做任何事情。 Windows Powershell

Get-WmiObject -Class powershell 命令在 Windows7 中不起作用