azure - 如何使用 azure run-book 调用存储在文件共享中的 PS 脚本
问题描述
我想调用存储在 Azure 存储帐户中的 PowerShell 脚本来执行 VM 规模集中的命令。我可以通过 cloudshell 调用,但使用 rubbook 它说找不到文件
Invoke-AzVmssVMRunCommand -ResourceGroupName $ResourceGroupName -VMScaleSetName $VirtualMachineScaleSetName -InstanceId $vminstances -CommandId 'RunPowerShellScript' -ScriptPath 'script.ps1'
script.ps1 包含我想在 VMS 中运行的代码
script.ps1 存在于我的存储帐户的 $Home 位置
我试过那个解决方案
解决方案
尝试我在这个问题中提供的第一种方法,即
$connectionName = "AzureRunAsConnection"
$servicePrincipalConnection = Get-AutomationConnection -Name $connectionName
$ConnectToAzAccount = Add-AzAccount -ServicePrincipal -TenantId $servicePrincipalConnection.TenantId -ApplicationId $servicePrincipalConnection.ApplicationId -CertificateThumbprint $servicePrincipalConnection.CertificateThumbprint
$StorageAccountName = "xxxxxxxxxxxxx"
$StorageAccountKey = "xxxxxxxxxxxxxx=="
$ContainerName = "xxxxxxxxxxxxxxx"
$BlobName_Windows = "samplescript.ps1"
$RG_VM = "xxxxxxxxxxxxxxxxxx"
$VM_Name_Windows = "xxxxxxxxx"
$InvokeCmd_Id_Windows = "RunPowerShellScript"
$AzStorage = New-AzStorageContext -StorageAccountName $StorageAccountName -StorageAccountKey $StorageAccountKey
$AzStorageContext = $AzStorage.Context
$GetBlobContent_Windows = Get-AzStorageBlobContent -Container $ContainerName -Blob $BlobName_Windows -Destination ($Env:temp+"/samplescript.ps1") -Context $AzStorageContext -Force
$InvokeRunCmdOutput_Windows = Invoke-AzVMRunCommand -ResourceGroupName $RG_VM -VMName $VM_Name_Windows -CommandId $InvokeCmd_Id_Windows -ScriptPath ($Env:temp+"/samplescript.ps1")
$SampleScript_Output_Windows = $InvokeRunCmdOutput_Windows.Value[0].Message
Write-Output $SampleScript_Output_Windows
推荐阅读
- spring-boot - 声明列 TIME WITH TIME ZONE 时出现语法错误
- r - 以周计算时差
- javascript - 我想在我的表中插入一个按钮,当用户在搜索字段中搜索某些内容时使用 javascript 显示费用
- python - 如何修复错误以将字符串转换为 python 中的浮点数?
- javascript - Promise.prototype.catch()的回调函数中是否需要包含参数?
- c - gcc/clang:错误:冲突的类型
: 为什么函数名很重要? - spring-boot - Spring boot 2.5 不使用 MySql 复制驱动程序
- java - 将共享方法移动到 Java 中的 Util 类?
- ubuntu - 如何解决ubuntu ZYNADDSUBFX软件中“默认IO没有初始化。默认为NULL后端”?
- android - libjpeg-alpha.so 崩溃