Я пытаюсь создать простую среду для автоматического создания снимков экрана. У меня есть несколько виртуальных машин Hyper-V, и мне нужно использовать PowerShell Direct, чтобы запускать на них команды в особой последовательности. Когда я запускаю psexec
, чтобы открыть notepad.exe
через PowerShell Direct, открывается окно Блокнота, но оно пустое. Я могу слепо щелкнуть элементы управления в окне (например, на панели инструментов), и кажется, что они работают, но на самом деле ничего не отображается, кроме пустого окна.
Единственный простой вариант для открытия Windows в существующем сеанс, который я вижу сейчас, - это запустить psexec
(любые другие предложения были бы очень признательны, потому что мои попытки придерживаться подхода, основанного только на PowerShell, наталкиваются на препятствие, см. Запуск приложения GUI на гостевой виртуальной машине с PowerShell Direct ).
Я запускаю psexec
на одной из виртуальных машин, чтобы запустить notepad.exe
в сеансе 2. Этот фрагмент PowerShell запускается на хост-виртуальной машине, он связывается с гостевой виртуальной машиной через PowerShell Direct.
Invoke-Command -VMName 'client1.example.com' -Credential $credential -ScriptBlock {
C:\bin\psexec.exe \\client1.example.com -i 2 "notepad.exe"
}
notepad.exe
запускается, но окно пустое. Это ошибка в psexec
?
См. Скриншот:
Проблема не возникает при запуске psexec
непосредственно в гостевой ВМ.
C:\bin\psexec.exe \\client1.example.com -i 2 "notepad.exe"