Вызовите указанную c функцию из файла сценария Power Shell в команде "az vm invoke" - PullRequest
1 голос
/ 10 апреля 2020
$command='az vm run-command invoke --command-id RunPowerShellScript --name '.$vm_name.' --resource-group '.$resource_group.' --scripts @C:/Users/Get-ULogged_In.ps1; ';

В этой команде мне нужно вызвать функцию из файла Get-ULogged_In.ps1, передав 2 параметра.

Это файл сценария


function Get-ULogged_In([string]$After,[string]$Before)
{

    $BeforeLog = (get-Date $Before)
    $AfterLog = (get-Date $After)
            $EventDataCollector_1 = get-winevent -logname Microsoft-Windows-TerminalServices-LocalSessionManager/Operational  | where {$_.TimeCreated -gt $AfterLog -and $_.TimeCreated -lt $BeforeLog -and ($_.Id -eq "21") }
            foreach($DataCollected_1 in $EventDataCollector_1)
            {

                $UserLogged_1 = $DataCollected_1.Message.Split([environment]::NewLine)
                $UserLogged_1 = $UserLogged_1 | select -First 5 |select -last 1
                $message= $DataCollected_1.Message.Split(":")[1]

                $Props_1 = @{'Time' = $DataCollected_1.TimeCreated
                            'User' = $UserLogged_1
                'Message' = $message    }

                $Obj_1 = New-Object -TypeName PSObject -Property $Props_1
                Write-Output $Obj_1  


            }


}



I попробовал вот так

$command='az vm run-command invoke --command-id RunPowerShellScript --name '.$vm_name.' --resource-group '.$resource_group.' --scripts @C:/Users/Get-ULogged_In.ps1; Get-ULogged_In 4/8/2020 4/10/2020';

но не получилось. Кто-нибудь может мне помочь с этим?

...