Я редактирую функцию, которая будет вызывать команду непосредственно на ВМ. Проблема, с которой я продолжаю сталкиваться, заключается в том, что если кто-то передает объявление функции в виде блока сценария, я получаю сообщение об ошибке при вызове команды create, поскольку params()
находится не в верхней части блока сценария.
Попытка выяснить, как я все еще могу set-fulllanguage
сначала выполнить функцию с params.
function Invoke-DirectOnVM
{
[CmdletBinding()]
Param (
[Parameter(Mandatory = $true)]
[CloudEngine.Configurations.EceInterfaceParameters]
$Parameters,
[Parameter(Mandatory = $true)]
[String[]]$VMNames,
[Parameter(Mandatory = $true)]
[Object]$VMCredential,
[Parameter(Mandatory = $true)]
[ScriptBlock]$ScriptBlock,
[Object[]]$ArgumentList = $null
)
{
Invoke-Command -VMName $localVMs -Credential $using:VMCredential -ScriptBlock ([ScriptBlock]::Create($("Import-Module OpenUpSession; Set-FullLanguage; `r`n" + $using:ScriptBlock)))
}