Проблема скрипта PowerShell, причина отсутствия знаний - PullRequest
1 голос
/ 02 апреля 2019

У меня был почти нулевой опыт программирования, но я хотел получить сценарий, который бы помог мне.Я начал это вчера и просто погуглил все вместе.

Что я хочу сделать, так это открыть VNC Viewer (приложение для удаленного рабочего стола для наших малинов), скопировать вставить ссылку туда, войти на сайт, полноэкранный режим и выйтисеанс VNC ViWER, перейдите к следующему пи (у нас есть 6 различных, где мы должны делать это каждые 3 часа) и сделать точно так же.

Я собираю все вместе, просто с помощью простых фраз, таких как:

$wshell.SendKeys("{TAB}")
$wshell.SendKeys("{Enter}")

и т. Д.но единственная проблема, которой у меня нет, - это закрыть сеанс vncviewer, не убивая консоль обзора (обе имеют разные задачи в диспетчере задач, но называются одинаково, только ProcessID отличается, но это меняется при каждом запуске.

Я сам нашел 3 разных решения, но не смог найти рабочего ответа на этот вопрос на разных форумах или технических разногласиях.

  1. LF команда типа "(New-Object -ComObject WScript.Shell).AppActivate((Kill-Process vncviewer).MainWindowTitle)", которая быубить только vncviewer, который является главным окном atm (обычно эта команда точно такая же, как и своп «Kill-Process» для «get-process», но я просто написал kill process, чтобы лучше описать то, что я ищу) и оставил бы обзорконсоль открыта.

  2. Получите такую ​​команду, как .SendKeys для MouseClicks, чтобы я мог работать с фиксированными командами «Задать координаты мыши» в PowerShell, а затем просто имитировать щелчок мыши, чтобы закрыть окно.

  3. Выполните «Get-Process | Out-File» и «Get-Content» в следующей строке, чтобы написать и прочитать процедуруsses, которые работают atm, чтобы завершить ProcessID сеанса nvcviewer, чтобы убить его через "Stop-Process" ProcessID "".Но не удалось найти команду для "Get-Content | Where-Object_Name =" nvcviewer "" или чего-то подобного, чтобы узнать, какой ProcessID использует его atm, проблема в том, что я получу 2 идентификатора процесса, не зная, какой из них убить.

Было бы здорово получить помощь по этому вопросу, извините за мой плохой английский / грамматику, это не мой родной язык, и я совершенно новичок в кодировании и т. Д., Так что если у вас есть ответ для меня, будетзамечательно объяснить это для 5-летнего ^^ + Мне не разрешено устанавливать программное обеспечение сторонних производителей, поэтому все должно быть в PowerShell.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...