#powershell
#powershell
Вопрос:
Цель: выполнение команд (ifconfig, pwd и т. Д.), Которые обычно записываются в консоли PowerShell, В скрипте, который вызывает несколько окон PowerShell.
Например. Я хотел бы вызвать команду ifconfig внутри нескольких окон PowerShell с помощью скрипта; для этого я попытался написать следующий код:
$i=1
for(; $i -le 2; $i )
{
Start-Process powershell.exe
Invoke-Expression -Command "ipconfig"
}
Когда я выполнил приведенный выше код в PowerShell ISE, результатом являются два окна powershell, но внутри них нет вывода команды ifconfig .
Комментарии:
1. Я рекомендую сначала выяснить, как открыть одно окно с помощью нужных вам команд, прежде чем пытаться выполнить несколько.
2. Спасибо за ваше предложение @DougMaurer
Ответ №1:
Проблема в том, что вы вообще не выполняете никаких команд в новых оболочках, вы просто запускаете их, а затем независимо выполняете «ipconfig» в текущем сеансе. Чтобы сделать то, что вы хотите, вам нужно передать команды в качестве аргументов новым процессам PowerShell.
$i=1
for(; $i -le 2; $i )
{
Start-Process powershell.exe -ArgumentList '-NoExit','-Command ipconfig'
}
Эта -NoExit
часть необходима, если вы хотите, чтобы окна PowerShell оставались открытыми, без этого они закроются после запуска ipconfig.