Rundeck Powershell передать параметры в сценарий - PullRequest
0 голосов
/ 11 февраля 2020

Мой вопрос: как передать параметры / параметры в сценарий Power Shell? Не удалось найти его в документации или любом другом хорошем сообщении об этом. Я знаю, что это возможно, потому что я видел это в видео с канала YouTube.

Кто-нибудь знает, где я могу его найти?

1 Ответ

1 голос
/ 11 февраля 2020

Используя встроенный скрипт, просто добавьте @option.youroption@, убедитесь, что заполните правильными параметрами для выполнения в вашем поле windows. Я оставляю пару примеров, посмотрите:

Определение задания (встроенный скрипт PowerShell):

<joblist>
  <job>
    <context>
      <options preserveOrder='true'>
        <option name='opt1' />
      </options>
    </context>
    <defaultTab>nodes</defaultTab>
    <description></description>
    <dispatch>
      <excludePrecedence>true</excludePrecedence>
      <keepgoing>false</keepgoing>
      <rankOrder>ascending</rankOrder>
      <successOnEmptyNodeFilter>false</successOnEmptyNodeFilter>
      <threadcount>1</threadcount>
    </dispatch>
    <executionEnabled>true</executionEnabled>
    <id>700b58f6-9bae-4d97-b97d-dd4c7efba9ca</id>
    <loglevel>INFO</loglevel>
    <name>JobWINRM</name>
    <nodeFilterEditable>false</nodeFilterEditable>
    <nodefilters>
      <filter>name: windows</filter>
    </nodefilters>
    <nodesSelectedByDefault>true</nodesSelectedByDefault>
    <scheduleEnabled>true</scheduleEnabled>
    <sequence keepgoing='false' strategy='node-first'>
      <command>
        <exec>echo "hi"</exec>
      </command>
      <command>
        <fileExtension>.ps1</fileExtension>
        <script><![CDATA[Write-Host "@option.opt1@"]]></script>
        <scriptargs />
        <scriptinterpreter>powershell.exe</scriptinterpreter>
      </command>
    </sequence>
    <uuid>700b58f6-9bae-4d97-b97d-dd4c7efba9ca</uuid>
  </job>
</joblist>

Использование "внешнего скрипта" передача некоторого параметра в " Аргументы ».

Сценарий Powershell:

### hello.ps1 ###
Param($Variable1 = "Hello", $Variable2 = "World")
"$Variable1 $Variable2"

Определение задания Rundeck:

<joblist>
  <job>
    <context>
      <options preserveOrder='true'>
        <option name='opt1' />
      </options>
    </context>
    <defaultTab>nodes</defaultTab>
    <description></description>
    <dispatch>
      <excludePrecedence>true</excludePrecedence>
      <keepgoing>false</keepgoing>
      <rankOrder>ascending</rankOrder>
      <successOnEmptyNodeFilter>false</successOnEmptyNodeFilter>
      <threadcount>1</threadcount>
    </dispatch>
    <executionEnabled>true</executionEnabled>
    <id>854a8639-ad98-4520-b446-359ec2eaf531</id>
    <loglevel>INFO</loglevel>
    <name>JobWINRMEXT</name>
    <nodeFilterEditable>false</nodeFilterEditable>
    <nodefilters>
      <filter>name: windows</filter>
    </nodefilters>
    <nodesSelectedByDefault>true</nodesSelectedByDefault>
    <scheduleEnabled>true</scheduleEnabled>
    <sequence keepgoing='false' strategy='node-first'>
      <command>
        <exec>echo "hi"</exec>
      </command>
      <command>
        <fileExtension>.ps1</fileExtension>
        <scriptargs>"${option.opt1}"</scriptargs>
        <scriptfile>/home/user/scripts/hello.ps1</scriptfile>
        <scriptinterpreter>powershell.exe</scriptinterpreter>
      </command>
    </sequence>
    <uuid>854a8639-ad98-4520-b446-359ec2eaf531</uuid>
  </job>
</joblist>
...