Как получить доступ к файлу сценария на виртуальной машине из Runbook Powershell - PullRequest
0 голосов
/ 29 апреля 2020

У меня есть файл сценария на виртуальной машине, к которому я хочу обратиться с портала azure в Runbook Powershell, но он не может найти файл. Файл вручную сохраняется в c: \ виртуальной машины.

Фрагмент кода в azure runbook:

IF ($VmAction -eq "Shutdown") {
     try
    {
         Invoke-AzVMRunCommand -ResourceGroupName $ResourceGroupName -VMName $VmName -CommandId 'RunPowerShellScript' -ScriptPath 'C:\\stopservice.ps1' -ErrorVariable result
         Stop-AzVM -Name $VmName -ResourceGroupName $ResourceGroupName -Force
    }
    catch
    {
        throw "Error: $($_.Exception.Message)"
    }

Команда "Invoke-AzVMRunCommand -ResourceGroupName $ ResourceGroupName -VMName $ VmName -CommandId 'RunPowerShellScript' -ScriptPath 'C: \ stopservice.ps1' -ErrorVariable result " может использоваться на powershell на моем компьютере, поэтому я думаю, что проблема, возможно, где-то в Azure.

файл сценария (c: \ stopservice.ps1):

  try
    {
        Stop-Service -Name SSASTELEMETRY
    }

    catch
    {
        throw "Error: $($_.Exception.Message)"
    }

(ps. Имя службы предназначено для тестирования, остановит другую службу, когда это будет работать)

1 Ответ

0 голосов
/ 29 апреля 2020

У вас есть Azure Runbook автоматизации, как показано ниже. Это должно выполнить sh ваше требование.

$ServicePrincipalConnection = Get-AutomationConnection -Name 'AzureRunAsConnection'
Add-AzAccount -ServicePrincipal -TenantId $ServicePrincipalConnection.TenantId -ApplicationId $ServicePrincipalConnection.ApplicationId -CertificateThumbprint $ServicePrincipalConnection.CertificateThumbprint
$rgname ="rrrrrrrrrrrrrr"
$vmname ="vvvvvvvvvvvvvv"
$ScriptToRun = "c:\test.ps1"
Out-File -InputObject $ScriptToRun -FilePath ScriptToRun.ps1 
Invoke-AzVMRunCommand -ResourceGroupName $rgname -Name $vmname -CommandId 'RunPowerShellScript' -ScriptPath ScriptToRun.ps1
Remove-Item -Path ScriptToRun.ps1

Примечание. Перед запуском вашей Runbook убедитесь, что вы обновили «rrrrrrrrrrrrrr», указав имя группы ресурсов и «vvvvvvvvvvvvvv», указав имя своей виртуальной машины, а также убедитесь, что у вас есть PowerShell с именем test.ps1 в C: \ диске виртуальной машины.

Надеюсь, это поможет! Ура! * * 1006

...