Я пытаюсь использовать Start-Job для запуска нового сценария Powershell. Новый скрипт имеет несколько параметров (некоторые необязательные, некоторые - нет), поэтому я хочу сделать хэш-таблицу и использовать ее. Однако один из этих параметров сам по себе является хэш-таблицей. Я пытаюсь начать работу, как это:Использовать hashtable в качестве параметра при splatting?
$MyStringParam = "string1"
$MyHashParam = @{}
$MyHashParam.Add("Key1", "hashvalue1")
$arguments = @{MyStringParam=$MyStringParam;MyHashParam=$MyHashParam}
Start-Job -Name "MyJob" -ScriptBlock ([scriptblock]::create("C:\myscript.ps1 $(&{$args} @arguments)"))
Засим я получаю эту ошибку в новой работе:
Cannot process argument transformation on parameter 'arguments'.
Cannot convert the "System.Collections.Hashtable" value of
type "System.String" to type "System.Collections.Hashtable".
Похоже, это лечение значение я хочу передать в качестве хэш-таблицы как строка. Для жизни я не могу понять, как обойти это. Может ли кто-нибудь помочь?
спасибо. Это отличное решение и работало на меня. – DataBeast