Как передать переменную invoke-command в powershell [duplicate]

Вы можете использовать плагин maven-shade для сборки uber jar, как показано ниже

        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-shade-plugin</artifactId>
            <executions>
                <execution>
                    <phase>package</phase>
                    <goals>
                        <goal>shade</goal>
                    </goals>
                </execution>
            </executions>
        </plugin>
7
задан mklement0 15 April 2016 в 15:45
поделиться

2 ответа

В PowerShell 4 (3+ на самом деле) самый простой способ - использовать модификатор области видимости Using:

Invoke-Command -ComputerName winserver -ScriptBlock { 
    Get-FileHash E:\test\$Using:dest.zip -Algorithm SHA1 
}

Для решения, которое работает со всеми версиями:

Invoke-Command -ComputerName winserver -ScriptBlock { param($myDest) 
    Get-FileHash E:\test\$myDest.zip -Algorithm SHA1 
} -ArgumentList $dest
13
ответ дан briantist 23 August 2018 в 22:30
поделиться

В дополнение полезный ответ briantist :

Блок сценария, переданный в Invoke-Command, (по назначению) выполнен на удаленном пульте , используя по умолчанию переменные машины remote .

Таким образом, чтобы использовать переменную (значение) local , дополнительные этапы (иначе говоря, внутри блока сценария, выполняемого удаленно, вы не можете просто ссылаться на локальные переменные, как обычно, например $dest):

  • PS v3 + предлагает using: для непосредственного использования локальной переменной внутри блока сценария - см. первую команду briantist. Обратите внимание, что using: работает только тогда, когда Invoke-Command фактически нацеливается на удаленный компьютер.
  • Единственная опция, которая также работает в более ранних версиях, - передать локальную переменную в качестве параметра в блок сценария. - см. вторую команду briantist.

Для получения дополнительной информации см. Get-Help about_Remote_Variables или документы в Интернете .

5
ответ дан mklement0 23 August 2018 в 22:30
поделиться
Другие вопросы по тегам:

Похожие вопросы: