Вот способ добавить параметры в скрипт, если вы использовали
pipeline.Commands.AddScript(Script);
Это с использованием HashMap в качестве параметров, ключом является имя переменной в скрипте, а значением является значение переменной.
pipeline.Commands.AddScript(script));
FillVariables(pipeline, scriptParameter);
Collection<PSObject> results = pipeline.Invoke();
И метод переменной заполнения:
private static void FillVariables(Pipeline pipeline, Hashtable scriptParameters)
{
// Add additional variables to PowerShell
if (scriptParameters != null)
{
foreach (DictionaryEntry entry in scriptParameters)
{
CommandParameter Param = new CommandParameter(entry.Key as String, entry.Value);
pipeline.Commands[0].Parameters.Add(Param);
}
}
}
таким образом, вы можете легко добавить несколько параметров в скрипт. Я также заметил, что если вы хотите получить значение из переменной в вашем скрипте, вот так:
Object resultcollection = runspace.SessionStateProxy.GetVariable("results");
// в результате получается имя v
тебе придется сделать это так, как я показал, потому что по какой-то причине, если ты сделаешь это так,
Kosi2801 предполагает, что список переменных скрипта не заполняется вашими собственными переменными.