我已经在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。一旦安装了所有最新模块,请仔细阅读文档中提供的所有疑难解答,以交叉检查并重新启动系统。
其他参考:
尽管尝试了上述步骤,请让我们知道问题是否仍然存在,我们可以进行进一步调查。感谢您的耐心等待!