Вызвать ifconfig внутри скрипта, который открывает несколько окон PowerShell

#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.