Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Скриптовые языки администрирования Windows (http://forum.oszone.net/forumdisplay.php?f=102)
-   -   [решено] Запуск программ на удалённом компьютере (http://forum.oszone.net/showthread.php?t=302379)

tuguror 13-07-2015 17:11 2528393

Запуск программ на удалённом компьютере
 
Уважаемые форумчане. Не подскажет ли мне кто –то как решить проблему над которой я сижу уже несколько недель . Есть домен АД server 2008/windows 7. Нужно из контроллера домена с помощью PowerShell запустить на одном или нескольких компьютерах программу, например Paint. Работа на контроллере домена идет в Администраторе домена.
WinRm на всех компьютерах включен.
Я использовал код
Код:

Enable-PSRemoting
Invoke-Command -ComputerName Rex -Scriptblock {Start-Process "c:\windows\system32\mspaint.exe"}

или
Код:

Invoke-Command -ComputerName Rex -Scriptblock {& "c:\windows\system32\mspaint.exe"}
Но никакой реакции не было . Даже когда я указывал -Scriptblock текущий компьютер он не давал результата.
Все машины находятся в одном помещении.
Мне советовали применить параметр -credential из указанием пользователя, но это ничего не давало. Кроме того например
Код:

Invoke-Command -ComputerName Rex -Scriptblock { get-process}
работает отлично и без него.

Порошу по возможности написать код потому что уже находился по разным ссылкам. Заранее благодарен за представленную помощь .

Foreigner 13-07-2015 17:50 2528405

Попробуйте через start-process
Код:

Invoke-Command -ComputerName Rex -Scriptblock { start-process "c:\windows\system32\mspaint.exe" }

tuguror 13-07-2015 18:51 2528426

Цитата:

Попробуйте через start-process
Так через start-process я пробовал, код выше

Iska 13-07-2015 18:57 2528429

Цитата:

Цитата tuguror
Но никакой реакции не было . »

Вы проверяли наличие не окна Paint на экране у удалённого пользователя, а наличие процесса «mspaint.exe» на удалённой машине?

tuguror 13-07-2015 19:03 2528432

Проверял. Так как машины находятся в одном помещении, мне достаточно повернуть экран . И никакого процесса mspaint.exe в диспетчере задач не было.

Iska 13-07-2015 20:57 2528470

Цитата:

Цитата tuguror
И никакого процесса mspaint.exe в диспетчере задач не было. »

Уточню: при этом в Диспетчере задач Вы нажимали кнопку «Отображать процессы всех пользователей»?

tuguror 13-07-2015 21:29 2528481

Нет. Но когда я запускал с параметром -credential и указывал пользователя запущенного на том компьютере тоже не было никакой реакции.

Цитата:

Вы нажимали кнопку «Отображать процессы всех пользователей»?
Только что попробовал сделать по вашему совету но процесса все равно нет

corbis 21-07-2015 09:35 2530818

Попробуйте подключиться к машине через Enter-PSSession.
Может отправленная команда где-то теряется..

Kazun 21-07-2015 14:17 2530939

PowerShell Remoting имеет свои ограничения, и не позволяет взаимодействовать с interactive desktop session пользователя и запускать программы с GUI-интерфейсом. Как вариант:

1) PsExec указать логин и пароль пользователя
& ".\psexec" -accepteula -i "\\computername" -u "domain\username" -p "password" "command line"

2) Создать задачу через schtasks указав заданного пользователя от кого выполняется задача
schtasks /create /?
schtasks /run /?

https://technet.microsoft.com/en-us/.../dd347642.aspx - about_Remote_Troubleshooting

Some native Windows programs, such as programs with a user interface, console applications that prompt for input, and console applications that use the Win32 console API, do not work correctly in the Windows PowerShell remote host.

tuguror 31-07-2015 18:14 2534969

Большое спасибо всем кто откликнулся. Спасибо вам Kazun за разъяснение возможностей программы и как можно это обойти. Я попробую сделать по вашему методу


Время: 21:31.

Время: 21:31.
© OSzone.net 2001-