none
Запуск процесса с гуем на удалённом компьютере RRS feed

  • Вопрос

  • Добрый день.

    Как запустить приложение на удалённом компьютере?

    stop-process прекрасно завершает задачу, а вот start-process запускает сам процесс.

    А хочется, чтобы был не только процесс, а ещё и его гуй.

    Это реально?

    Пробовал:

    invoke-command, enter-PsSession, запуск ярлыка



    • Изменено esqado 14 февраля 2013 г. 8:18
    14 февраля 2013 г. 8:13

Ответы

Все ответы

  • Invoke-WMIMethod Win32_Process -Name Create -Arg "Notepad" -ComputerName test1
    14 февраля 2013 г. 8:18
    Отвечающий

  • Invoke-WMIMethod Win32_Process -Name Create -Arg "Notepad" -ComputerName 192.168.0.1 -Credential администратор __GENUS : 2 __CLASS : __PARAMETERS __SUPERCLASS : __DYNASTY : __PARAMETERS __RELPATH : __PROPERTY_COUNT : 2 __DERIVATION : {} __SERVER : __NAMESPACE : __PATH : ProcessId : 2712 ReturnValue : 0 PSComputerName :


    А "лица" процесса нет
    • Изменено esqado 14 февраля 2013 г. 9:17
    14 февраля 2013 г. 9:14
  • Я не правильно прочитал заголовок темы.Через WMI и PSSession не получится запустить процесс с GUI на удаленном компьютере.

    Можно использовать psexec с ключом -i или создать задачу в task scheduler под контекстом того пользователя под которым будет выполняться процесс.


    • Изменено KazunEditor 14 февраля 2013 г. 10:13
    14 февраля 2013 г. 9:55
    Отвечающий
  • Поясните пожалуйста:

    для psexec: запускаю psexe -i "sameprocess" и запускается приложение с гуем?

    для tasksheduler: создаю задачу, задача не имеет отложенного запуска (сама не запускается, не имеет расписания), обращаюсь к задаче через posh и запускается приложение с гуем?

    И сюда же вопрос по задачам (если не против). Есть некая задача. Задача имеет расписание. Задача работает (или не работает, что не важно). 

    Я нашёл, как посмотреть дату создания задачи, какие-то ещё параметры...

    А как узнать время последнего запуска и результат работы (успешно, не успешно)?

    Спасибо kazun за помощь. А что значит mcc и mvp?

    14 февраля 2013 г. 12:43
  • 1) psexec /?

    -i

    Run the program so that it interacts with the desktop of the specified session on the remote system. If no session is specified the process runs in the console session.

    2) Создаете полноценно задание: имя,пользователь,разово,время запуска,указать программу или скрипт для запуска

    3) Для этого потребуется парсить eventlog - Get-WinEvent Microsoft-Windows-TaskScheduler/Operational

    EventID 100 - время последнего запуска

    EventID 201 - результат работы

    4) mcc,mvp - http://technet.microsoft.com/ru-RU/gg602412.aspx

    • Помечено в качестве ответа KazunEditor 20 февраля 2013 г. 5:31
    • Снята пометка об ответе KazunEditor 25 февраля 2013 г. 16:49
    14 февраля 2013 г. 13:09
    Отвечающий
  • зачем вам это надо и что в итоге вы хотите получить?
    • Помечено в качестве ответа KazunEditor 20 февраля 2013 г. 5:31
    14 февраля 2013 г. 18:42
  • зачем вам это надо и что в итоге вы хотите получить?

    Если закрыта 1с - запустить.
    25 февраля 2013 г. 8:19
  • PS> PsExec.exe \\RemotePC -u name -p pass "c:\windows\system32\notepad.exe" -i -d -s

    Процессы есть, а гуя нет.

    Или я что-то не понимаю?

    А как должен работать ключ -d ? Как я понимаю psexec должен завершаться?


    • Изменено esqado 25 февраля 2013 г. 16:03
    25 февраля 2013 г. 16:01
  • PS> PsExec.exe \\RemotePC -u name -p pass "c:\windows\system32\notepad.exe" -i -d -s

    Процессы есть, а гуя нет.

    Или я что-то не понимаю?

    А как должен работать ключ -d ? Как я понимаю psexec должен завершаться?



    А в чем проблема сделать батник,который бы проверял запущен ли процесс 1С и поместить его в шедулер?
    25 февраля 2013 г. 16:10
    Отвечающий
  • Основная идея в том, чтобы опросить машин 20-50 на предмет наличия в процессах 1с (в иделе узнать, состояние задачи: отвечает или не отвечает). Если процесса нет - запускать процесс, как бы локально (лучше через ярлык). Если процесс не отвечает - погасить процесс и запустить заново.

    Это к вопросу о гуе и запуске приложений на удалённых машинах.

    25 февраля 2013 г. 16:35
  • на удалённой машине создал задачу, подключился : Enter-PSSession -ComputerName $comp -Credential $cred

    Через schtasks.exe /run $taskname запустил задачу. Всё получилось как задумано.

    Как посмотреть все задачи? Почему не вижу ни одной задачи через: Get-WmiObject win32_scheduledjob

    • Изменено esqado 2 марта 2013 г. 22:38
    2 марта 2013 г. 22:08
  • на удалённой машине создал задачу, подключился : Enter-PSSession -ComputerName $comp -Credential $cred

    Через schtasks.exe /run $taskname запустил задачу. Всё получилось как задумано.

    Как посмотреть все задачи? Почему не вижу ни одной задачи через: Get-WmiObject win32_scheduledjob

     The Win32_ScheduledJob class does not represent a job created with the Scheduled Task Wizard from the Control Panel.  You cannot change a task created by WMI in the Scheduled Tasks UI.

    Для просмотра - schtasks /query

    3 марта 2013 г. 6:52
    Отвечающий
  • # Перед запуском сценария выполнить сроку №2 отдельно
    #$cred = Get-Credential администратор
    # Файл списка IP адресов
    $comp = Get-Content "D:\machines"
    # Объект .Net ping
    $ping = New-Object system.net.networkinformation.ping
    # Удалить старые логи
    Remove-Item d:\compdown.txt, d:\log.txt
    # Цикл опроса
    for ($i=0;$i -lt $comp.Length; $i++) {
    # Положительный ответ на ping
        if ($ping.Send($comp[$i]).status -eq "success") {
    # Проверка наличия задания
            $proc = Invoke-Command -ComputerName $comp[$i] -Credential $cred -ScriptBlock {schtasks.exe /query | where {$_ -match "1cst"}}
    # Out-File: 1 - нет задания, 2 - нет машины        
            if (!$proc) {
                Out-File -InputObject $comp[$i] -FilePath d:\log.txt -Append
            }    
        } else {
            Out-File -InputObject $comp[$i] -FilePath d:\compdown.txt -Append
        }
    }

    Вот такой сценарий получился.

    Разобрался как создать задачу, но не понял, как добавить параметры запуска.

    Подскажите пожалуйста. Например:

    Имя_Задачи - 1cst, параметры_запуска - enterprise /F"c:\base" /N"user" /P"pass"

    4 марта 2013 г. 11:01
  • SCHTASKS /change /tn "Имя_Задачи - 1cst" /tr "\"c:\my folder\script.cmd\" - enterprise /F\"c:\base\" /N\"user\" /P\"pass\""
    4 марта 2013 г. 11:10
    Отвечающий
  • SCHTASKS /change /tn "Имя_Задачи - 1cst" /tr "\"c:\my folder\script.cmd\" - enterprise /F\"c:\base\" /N\"user\" /P\"pass\""

    Сначала ругался на пробелы в пути. 'c:\program files'

    потом ошибка на параметры.

    и обязательный параметр /sc

    Решил отказаться

    4 марта 2013 г. 19:57