Передача значений из конфигурационного файла непосредственно в качестве параметров командной строки - PullRequest
0 голосов
/ 07 октября 2019

У меня есть сценарий PowerShell, который необходимо вызвать через controlM. Пример вызова выглядит как

powershell -NoLogo -NonInteractive -Command "D:\path\to\Whatever.ps1 -param1 %%PARAM1 -param2 %%PARAM2"

Значение для param2 - это CSV, подобное '1111111,2222222', и обычно оно охватывает почти 0,5 миллиона символов в длину.

Проблема: В controlM есть ограничение, что для переменной можно установить до 4000 символов через интерфейс controlM.

Итак, обходной путь, о котором я могу подумать, - это иметь скрипт-обертку (который теперь будет подключен квместо controlM), который вызовет Whatever.ps1 после прочтения файла конфигурации. Что-то вроде:

sample.ini:

[General]
param1=value1
param2='1111111,2222222'

Но я не уверен, что если вы пишете скрипт-обертку, используйте вывод журнала из существующих Whatever.ps1 и т. Д., Это лучшая идея. Итак, просто интересно, есть ли способ, чтобы значения из файла конфигурации можно было напрямую подавать на Whatever.ps1. Что-то вроде

powershell -NoLogo -NonInteractive -Command "D:\path\to\Whatever.ps1 -param1 sample.ini[param2] -param2 sample.ini[param2]"
...