Когда я подключаюсь к своей виртуальной машине, чтобы запустить этот сценарий Powershell, все работает нормально.
Однако, если я попытаюсь запустить скрипт в моем Azure Runbook, он выполнится, но скрипт Python не сработает, и я не знаю почему :( Кажется, он просто пропускает его. Я что-то упускаю?
Это код в моем Runbook
$connectionName = "AzureRunAsConnection"
try
{
# Get the connection "AzureRunAsConnection
$servicePrincipalConnection=Get-AutomationConnection -Name $connectionName
"Logging in to Azure..."
Add-AzureRmAccount `
-ServicePrincipal `
-TenantId $servicePrincipalConnection.TenantId `
-ApplicationId $servicePrincipalConnection.ApplicationId `
-CertificateThumbprint $servicePrincipalConnection.CertificateThumbprint
}
catch {
if (!$servicePrincipalConnection)
{
$ErrorMessage = "Connection $connectionName not found."
throw $ErrorMessage
} else{
Write-Error -Message $_.Exception
"are we here"
throw $_.Exception
}
}
$rgname ="MyResourceName"
$vmname ="MyVirtualMachine"
$ScriptToRun = "c:\mypath\myscript.ps1"
Out-File -InputObject $ScriptToRun -FilePath ScriptToRun.ps1
$run = Invoke-AzureRmVMRunCommand -ResourceGroupName $rgname -Name $vmname -CommandId 'RunPowerShellScript' -ScriptPath ScriptToRun.ps1
Write-Output $run.Value[0]
Remove-Item -Path ScriptToRun.ps1
Вот myscript.ps1 (Путь к Python установлен в переменных среды)
Write-Output "Script Started."
Python C:\myscripts\pythonscript.py
Write-Output "Script Ended."
Затем я увижу этот результат
Script Started.
Script Ended.
Основной вывод py-скрипта должен быть посередине, но я ничего не получаю. Опять же, если я запускаю его локально, он работает нормально.
Спасибо за любую помощь