В PowerShell есть конструкции типа Set, например
Set-Content -Path 'C:\Logs\1.txt' -Value 'Текст для вывода'
Данная команда выведет значения в файл 'C:\Logs\1.txt'.
Есть команды которые умеют принимать имя параметра через массив с ключами
-prelace @{Ключ=Значение}
-clear @{Ключ=Значение}
С ними все хорошо они жуют переменные и вместо значение и вместо ключа.
-prelace @{$Key=$Value}
-clear @{$Key=$Value}
Например если сделать вот так
$Value= '-Value'
$Value.GetType().FullName - так мы узнаем что это System.String[]
Set-Content -Path 'C:\Logs\1.txt' $Value 'Текст для вывода'
Получим ошибку, нет параметра для приема значения 'Текст для вывода'
Собственно вопрос, каким образом можно передать через переменную не только значение но и ключ/параметр (-Path, -Value) в команду/функцию. Поясню в чем загвоздка, одному значению может соответствовать два разных ключа один для вызова в функции второй для передачи через массив. В целом костыль через массив работает, но всегда хочется чего то большего.