powershell называют оператор с несколькими аргументами?

При необходимости в сервере потоковой передачи можно использовать Darwin, Передающего Сервер потоком

2
задан 8 February 2013 в 00:21
3 ответа

Возможно, вы столкнулись с ситуацией, когда ваша переменная не обрабатывается двоичным файлом Win32. Вы можете облегчить это с помощью двойных кавычек:

'C:\Program Files (x86)\PuTTY\plink.exe' "$allArgs" root@servername

У меня была такая же проблема с netsh некоторое время назад.

2
ответ дан 3 December 2019 в 11:49

По какой-то причине, если написать его следующим образом, он отлично работает из командной строки PowerShell и из командной строки, вызывающей powershell.exe C: \ Path \ To \ Script.ps1

& 'C:\Program Files (x86)\PuTTY\plink.exe' -v -agent -m C:\Scripts\idrac_powerup_commands.txt root@servername | Write-Host

Взгляните.

0
ответ дан 3 December 2019 в 11:49

Вы почти получили это. Каждый параметр должен быть отдельным элементом массива. ($ allargs?)

$runputtyscript = @()
$runputtyscript += "-v"
$runputtyscript += "-agent"
$runputtyscript += "-m"
$runputtyscript += "C:\Scripts\idrac_powerup_commands.txt"

& 'C:\Program Files (x86)\PuTTY\plink.exe' $runputtyscript root@servername

Я бы добавил его в путь и запустил напрямую:

$env:path += ';C:\Program Files (x86)\PuTTY'
plink -v -agent -m C:\Scripts\idrac_powerup_commands.txt root@servername

Или, не изменяя путь, сделайте обратную кавычку без использования кавычек:

C:\Program` Files` (x86)\PuTTY\plink.exe -v -agent -m C:\Scripts\idrac_powerup_commands.txt root@servername
0
ответ дан 7 January 2020 в 04:25

Теги

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