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

  • Вопрос

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

    Почему при выполнении команды на локальном компьютере

    Get-Process | where {$_.MainWindowTitle -ne ""

    отображает процессы, которые имеют окна, а при выполнении команды на удалённом компьютере

    Invoke-Command -ComputerName $comp -Credential $cred -ScriptBlock {
    Get-Process} | where {$_.MainWindowTitle -ne ""}

    пустой вывод?

    18 апреля 2013 г. 6:29

Ответы

  • возможно из-за того, что скрипт выполняется от той учетной записи, из-под которой на удаленному компьютере не запущено никаких окон?
    • Помечено в качестве ответа esqado 18 апреля 2013 г. 6:52
    18 апреля 2013 г. 6:50

Все ответы

  • возможно из-за того, что скрипт выполняется от той учетной записи, из-под которой на удаленному компьютере не запущено никаких окон?
    • Помечено в качестве ответа esqado 18 апреля 2013 г. 6:52
    18 апреля 2013 г. 6:50
  • А процессы, которые я вижу, запущенны независимо от пользователя?
    При подключении создаётся новая сессия под учётными данными, которые используются? (простите за кривой вопрос)
    И сюда же вопрос: как выполнить команду под пользователем, который залогинен локально? (не администратор)
    • Изменено esqado 18 апреля 2013 г. 6:56
    18 апреля 2013 г. 6:52
  • А процессы, которые я вижу, запущенны независимо от пользователя?

    Процессы скорее всего да, вам не составит труда проверить это. Удаленно выполнить команду от залогиненного пользователя, увы, никак.

    18 апреля 2013 г. 7:07
  • Я могу выполнить

    Enter-PSSession -ComputerName $comp -Credential $cred

    от имени администратора. А от другого пользователя (не администратора), например, того, кто залогинен, - нет?
    18 апреля 2013 г. 7:13
  • вы знаете логин/пароль залогиненного пользователя? в общем случае такая информация неизвестна.
    18 апреля 2013 г. 7:22
  • Конечно знаю. Основная идея в том, чтобы средствами шела "увидеть" то, что "видит" пользователь.

    Сделать как-бы "замену" rdp и teamwiever (может быть кому-то идея покажется дурацкой).

    18 апреля 2013 г. 7:28
  • Залогиненый пользователи входит в группу администраторов.

    Подключаюсь к компьютеру под учёткой того-же администратора.

    Так же не работает.

    18 апреля 2013 г. 19:55
  • Пока, только один рабочий вариант, который приходит на ум с использованием PsExec и думаю если создать задачу в планировщике,то тоже отработает:

    PsExec.exe \\localhost -i -s -u domain\user  powershell -nologo-noprofile -command '&{gps | where {$_.mainwindowtitle} | ft mainwindowtitle > C:\res.txt}'
    PS. Тестировал, при Enter-PSSession -ComputerName $comp -Credential $RemoteADM

    19 апреля 2013 г. 8:38
    Отвечающий
  • Спасибо за вариант.

    По мере возможности стараюсь отказаться от использования стороннего софта.

    Практика показывает, что это не удасться.

    Спасибо за совет с планировщиком. На этой основе у меня построен сценарий запуска приложений. Теперь не возникает проблем со сборкой отчётов в 1с )))

    Тут же хочу задать вопрос:

    допустим, на удалённой машине запущен процесс powershell под администратором. Возможно с ним взаимодействовать?

    • Изменено esqado 19 апреля 2013 г. 12:20
    19 апреля 2013 г. 12:18
  • Спасибо за вариант.

    По мере возможности стараюсь отказаться от использования стороннего софта.

    Практика показывает, что это не удасться.

    Спасибо за совет с планировщиком. На этой основе у меня построен сценарий запуска приложений. Теперь не возникает проблем со сборкой отчётов в 1с )))

    Тут же хочу задать вопрос:

    допустим, на удалённой машине запущен процесс powershell под администратором. Возможно с ним взаимодействовать?


    Возможно, через планировщик или psexec.
    19 апреля 2013 г. 12:24
    Отвечающий