Можно ли запустить команду на локальной и удаленной системах одновременно в PowerShell? Я знаю, что можно запустить команду на нескольких удаленных системах с помощью PowerShell, но есть ли команда или способ запустить одну и ту же команду на локальной и удаленной машинах одновременно?
решение1
Не одновременно, но да, в той же команде. Например, если бы я хотел получить информацию о компьютере с моей локальной машины, а затем с удаленной машины с именем CoolComputer2 в одной команде, я бы сделал следующее:
Get-ComputerInfo -and (Invoke-Command -ComputerName CoolComputer2 -Credential domain\username -ScriptBlock { Get-ComputerInfo})
Первый Get-ComputerInfo
собирает местную информацию.
В нем -and
говорится: «Если эта первая команда сработала, выполните следующую команду второй».
Invoke-Command
позволяет выполнить удаленную команду, введя после нее имя компьютера и учетные данные для доступа к нему.
ScriptBlock
необходимо заключить удаленную команду в фигурные скобки `{команда здесь}.
решение2
PowerShell remoting можно использовать против любого компьютера, который правильно настроен, чтобы разрешить это. Это включает в себя "localhost", который всегда является локальным компьютером.