Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/batch-file/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/266.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Batch file 在无人参与的批处理控制下打开HTTPS URL_Batch File_Https_Automation_Dialog_Unattended Processing - Fatal编程技术网

Batch file 在无人参与的批处理控制下打开HTTPS URL

Batch file 在无人参与的批处理控制下打开HTTPS URL,batch-file,https,automation,dialog,unattended-processing,Batch File,Https,Automation,Dialog,Unattended Processing,我的问题是,当UPS告诉我的家庭服务器停电时,我需要向NAS发送关机命令。我想通过使用(Windows 10 Home)PC服务器的关闭通知来实现这一点,该通知可以在关闭事件中触发批处理文件,而不是使用额外的硬件。我已经确定打开一个特定的URL会导致NAS正常关闭 这些问题似乎与试图绕过导致浏览器的对话有关。首先,它要求提供凭证。我可以通过在URL调用中包含它们来绕过这个问题,如下所示: 启动“”“C:\Program Files\Mozilla Firefox\Firefox.exe” “”

我的问题是,当UPS告诉我的家庭服务器停电时,我需要向NAS发送关机命令。我想通过使用(Windows 10 Home)PC服务器的关闭通知来实现这一点,该通知可以在关闭事件中触发批处理文件,而不是使用额外的硬件。我已经确定打开一个特定的URL会导致NAS正常关闭

这些问题似乎与试图绕过导致浏览器的对话有关。首先,它要求提供凭证。我可以通过在URL调用中包含它们来绕过这个问题,如下所示:

启动“”“C:\Program Files\Mozilla Firefox\Firefox.exe” “”


现在,它弹出了一个对话框,要求我确认我想以“用户名”登录,再次挫败了我让这个运行无人值守的尝试(停电时我可能在任何地方)。有办法解决这个问题吗?仅供参考,我放弃了与微软Edge的合作,因为它通过在任何地方插入空格将URL参数切割成碎片。每次我尝试它时,它都会手动抱怨安全证书。我想我的浏览器也会遇到同样的确认请求问题。因此,我需要一种方法来超越所有这些对话,只需进行URL调用。有什么想法吗?

在这个问题发布24小时后,没有任何答案告诉我,这是一个棘手的问题&让我一直在尝试。在我尝试了所有我能想到的方法用Window自己的工具集来解决这个问题后,我发现什么都不管用,我意识到我需要一些额外的东西来解决这个问题。最后我放弃并安装了免费软件,编写了一个脚本来完成整个工作,包括处理对话框。一旦一切正常,为了方便起见,我从脚本中创建了一个可执行文件,这样我就可以很容易地从关闭批处理(.bat)文件中调用它。这个解决方案有效。以下是为需要解决类似问题的任何人编写的脚本:

> runWait, C:\Program Files\Mozilla Firefox\firefox.exe
> https://admin:password@192.168.1.10/get_handler?PAGE=System&OUTER_TAB=tab_shutdown&INNER_TAB=NONE&shutdown_option1=1&command=poweroff&OPERATION=set
> 
> #Persistent SetTimer, MsgBoxCheck, 3000 return
> 
> MsgBoxCheck: If WinExist("ahk_class MozillaDialogClass") {   
> SetControlDelay -1    ControlClick, , Confirm,    SetTimer,
> MsgBoxCheck, off    exitApp } else {    SetTimer, MsgBoxCheck, off   
> MsgBox, 4, , Debug - No Confirm Window Found.    exitApp } return

请注意,要在非Mozilla程序中实现这一点,您需要更改ahk_类参数。我建议您使用Windows Spy来确定要关闭的窗口的类别。您还需要将“确认”更改为您窗口的任何标题。

在这个问题发布24小时后,没有任何答案,这告诉我这是一个棘手的问题,让我一直在尝试。在我尝试了所有我能想到的方法用Window自己的工具集来解决这个问题后,我发现什么都不管用,我意识到我需要一些额外的东西来解决这个问题。最后我放弃并安装了免费软件,编写了一个脚本来完成整个工作,包括处理对话框。一旦一切正常,为了方便起见,我从脚本中创建了一个可执行文件,这样我就可以很容易地从关闭批处理(.bat)文件中调用它。这个解决方案有效。以下是为需要解决类似问题的任何人编写的脚本:

> runWait, C:\Program Files\Mozilla Firefox\firefox.exe
> https://admin:password@192.168.1.10/get_handler?PAGE=System&OUTER_TAB=tab_shutdown&INNER_TAB=NONE&shutdown_option1=1&command=poweroff&OPERATION=set
> 
> #Persistent SetTimer, MsgBoxCheck, 3000 return
> 
> MsgBoxCheck: If WinExist("ahk_class MozillaDialogClass") {   
> SetControlDelay -1    ControlClick, , Confirm,    SetTimer,
> MsgBoxCheck, off    exitApp } else {    SetTimer, MsgBoxCheck, off   
> MsgBox, 4, , Debug - No Confirm Window Found.    exitApp } return

请注意,要在非Mozilla程序中实现这一点,您需要更改ahk_类参数。我建议您使用Windows Spy来确定要关闭的窗口的类别。您还需要将“确认”更改为您窗口的任何标题。

我也看了您的帖子以获得答案。我从bat文件中执行了几行powershell代码,就可以完成它。谢谢你,古吉斯伯格,但是自动热键解决方案工作得很好,而且它不需要我学习“powershell”——这是另一种我不熟悉的技术——但是谢谢你的提议!我也看了你的帖子寻求答案。我从bat文件中执行了几行powershell代码,就可以完成它。谢谢你,古吉斯伯格,但是自动热键解决方案工作得很好,而且它不需要我学习“powershell”——这是另一种我不熟悉的技术——但是谢谢你的提议!