Последние пару недель я рыскал в Интернете, чтобы выяснить, с какой проблемой я столкнулся: просто открыть «калькулятор» на удаленном компьютере с помощью psExec. В конце концов я задал вопрос и здесь. У меня до сих пор нет ответа на этот вопрос, но получение помощи по этому вопросу превратилось в множество ответов и комментариев о различных способах устранения неполадок psExec. Я благодарен за полученную помощь, поэтому я просматривал список идей по устранению неполадок, которые у меня возникли, и подумал - было бы неплохо, если бы я мог просто поискать «устранение неполадок psExec» и получить этот список в одном месте, скорее чем копать маленькие полезные самородки на множестве разных сайтов?
Итак, имея это в виду и в духе Отвечая на свои вопросы сообщение, я собираюсь перечислить все методы устранения неполадок, о которых я узнал, а затем я задам свой вопрос. Я пока не могу добавить много ссылок, потому что я новичок на этом сайте, поэтому прошу прощения за минимальное включение упоминания и ссылок на источники.
\\targetmachine
часть команды, попробуйте использовать либо имя компьютера, либо IP-адрес. Иногда одно не работает, тогда как другое работает.-i
переключатель, чтобы сделать программу интерактивной на удаленном компьютере.-d
переключиться так cmd
не зависает, пока выполняется программа, которую вы выполняете.calc
, cmd
, или сделайте простой .bat
файл для тестирования), чтобы проверить, неверен ли ваш синтаксис.-d
переключитесь, запустите вашу программу и дайте ей повиснуть на некоторое время, чтобы проверить, медленно ли работает система. Иногда некоторые программы требуют немного времени.psList
или psService
чтобы проверить, есть ли у вас доступ к удаленному компьютеру\\targetcomputername\c$
. это должен предоставить вам доступ к папкам на целевом диске C :.cmd
как администратор-u
и -p
). Попробуйте использовать обычную учетную запись, а затем попробуйте использовать учетную запись администратора (если она у вас есть).-accepteula
и /accepteula
- очевидно, что один способ работает с некоторыми системами, один способ работает с другими.-accepteula
дважды в вашей команде, потому что первый иногда просто `` проглатывается '' и не выполняется (из эта почта).psExec
в командной строке, чтобы вы могли вручную принять появившееся лицензионное соглашение. (accepteula
должен это делать, но, видимо, иногда это не работает)admin$
общий ресурс включен на целевом компьютереСтраница загрузки psExec, а также ответы на часто задаваемые вопросы о Sysinternals psExec и форумы - отличные ресурсы.
Ни одна из этих идей по устранению неполадок, которые я здесь написал, не решила мою проблему, так что это означает, что есть другие идеи. Как еще кто-то может устранить неполадки с psExec для простые проблемы как у меня (просто открываю простую программу вроде калькулятора)?
А) \ {targetmachine}. В 2015 году мы изменили все наши пакетные файлы * .bat, чтобы использовать IPAddress для {targetmachine} вместо ComputerName, и это избавило от «зависания» при вызове PsExec. В 2018 году, когда была внедрена новая система защиты от вирусов, мы выяснили, что с помощью IP-адрес СЕЙЧАС вызывает зависание PsExec на срок до 3 минут. Итак, мы снова переключили командные файлы на использование ComputerName.
Б) -p {пароль}. 6 из нас регулярно используют пакетные файлы, использующие PsExec, и наши пакетные файлы настроены для использования наших UserName и PassWord. После последнего обязательного трехмесячного обновления пароля мы поняли, что пользователи, у которых в пароле БЕЗ специальных символов (например, @! ^ $), Больше не возникает ЛЮБОГО времени зависания, в то время как пользователи со специальными символами регулярно испытывают 20-секундное зависание. . (Это сложно устранить, потому что у пользователей со специальными символами время зависания составляет 20 секунд, если пакетные файлы не были запущены в течение последних 3 минут. Если они запускались недавно, время зависания исчезает.)
C) Использование @ в любом командном файле * .bat. Точно так же мы обнаружили, что время зависания исчезает (независимо от того, сколько времени прошло с момента запуска командных файлов), если мы удалили символ «@» из любого командного файла, который вызывает или вызывается PsExec. Для тех, кто не знаком с программированием файлов * .bat, символ @ подавляет "эхо" на экране, даже если в командном файле для параметра echo установлено значение "on".
D) Резюме: КОД 2015
@echo off
@psexec \\199.245.27.107 -u DomainName\UserName -p MyP@$$W*rd cmd.exe /k c:\local_PsExec_commands.bat "%cd%" %1 %2
КОД 2018
echo off
psexec \\TargetComputer -u DomainName\UserName -p MyPassWord cmd.exe /k c:\local_PsExec_commands.bat "%cd%" %1 %2
Мы также удалили символ «@» из всех файлов «local_PsExec_commands.bat» на целевых компьютерах.