Быстрый вопрос, некоторое время искал, но нигде не нашел ответа. Немного предыстории: у меня есть локальная машина и удаленная машина (виртуальная машина), которую я подключаю через RDP.

У меня есть командный файл, который я запускаю, который запускает сеанс RDP с помощью команд powershell и входит в систему с учетными данными. Мой следующий шаг - когда я сталкиваюсь с проблемами, у меня есть другой командный файл на удаленной машине, который я хочу запустить (также команды Powershell).

Когда я запускаю этот пакетный файл физически через RDP (с помощью двойного щелчка или запуска через командную строку), все хорошо.

Когда я запускаю командный файл удаленно, командный файл запускается, но не так, как я хочу. Кажется, что он работает в фоновом режиме и фактически не показывает, что он делает через сеанс RDP, который у меня есть. Причина, по которой я не хочу, чтобы это работало в автоматическом режиме, заключается в том, что у меня есть скрипт, который удаляет и переустанавливает программу. Поскольку это не MSI, в моем коде должно быть несколько "ключей отправки".

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

1 ответ1

0

Вы пробовали Enter-PSSession?

$s = New-PSSession -ComputerName Server01 -Credential Domain01\User01 
# Enter the session yourself
Enter-PSSession -Session $s

или же

Invoke-Command -Session $s -ScriptBlock {
    [SCRIPT GOES HERE]
}

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .