Передача имен параметров через переменные в PowerShell?
В 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) в команду/функцию. Поясню в чем загвоздка, одному значению может соответствовать два разных ключа один для вызова в функции второй для передачи через массив. В целом костыль через массив работает, но всегда хочется чего то большего.
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) в команду/функцию. Поясню в чем загвоздка, одному значению может соответствовать два разных ключа один для вызова в функции второй для передачи через массив. В целом костыль через массив работает, но всегда хочется чего то большего.
Похожие публикации
VPS на Windows?
Как настроить grub для загрузки UEFI Windows 8?
Посоветуйте впс на Windows
Не меняется автоматически пароль в AD.Что делать?
Клиент-сервер веб-фильтр для Windows сети
Нет комментариев