PowerShell脚本问题,缺少知识的原因

时间:2019-04-02 01:45:11

标签: powershell automation

我有点编码经验,但想给自己写个脚本,需要我一些工作。” 从昨天开始,只是将自己所有的内容都用谷歌搜索。

我想做的是打开一个vnc查看器(用于树莓的远程桌面应用程序),在其中复制粘贴链接,登录该网站,全屏显示,并离开vnc会话,进入下一个pi(我们有6个不同的位置,我们需要每3小时执行一次),并且完全相同。

我用简单的短语将所有内容组合在一起:

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

等但是我唯一没有的问题是关闭vncviewer会话而不杀死概述控制台(两者在任务管理器中都有不同的任务,但命名相同,只是ProcessID不同,但是每次启动都会改变。

我为自己找到了3种不同的解决方案,但是在不同的论坛或技术问题上找不到可行的答案。

  1. LF像“(New-Object -ComObject WScript.Shell).AppActivate((Kill-Process vncviewer).MainWindowTitle)这样的命令只会杀死作为主窗口atm的vncviewer(通常,该命令与“ Kill-Process”完全相同,只是将“ get-process”,但我只是编写了kill进程,以更好地描述我正在寻找的内容),并使概览控制台保持打开状态。

  2. 获取适用于MouseClicks的命令。SendKeys,以便我可以在PowerShell中使用修复“设置鼠标坐标”命令,然后仅模拟鼠标单击来关闭窗口。

  3. 在下一行中执行“ Get-Process | Out-File”和“ Get-Content”以写入和读取正在运行atm的进程,以终止nvcviewer会话的进程ID以便终止通过“停止进程“ ProcessID””。 但是找不到这样的命令“ Get-Content | Where-Object_Name =“ nvcviewer””或类似的东西来知道其正在运行的atm的ProcessID,问题是我将获得2个进程ID,却不知道要杀死哪个进程。 >

很高兴获得一些帮助,对不起我的英语/语法不好,这不是我的母语,并且我对编码非常陌生,因此,如果您对我有答案,那么对此问题进行解释将是很棒的一个5岁的^^ +我不允许安装第三方软件,因此所有操作都必须在PowerShell中进行。

0 个答案:

没有答案