Windows - 网站恢复时收到声音警报

Windows - 网站恢复时收到声音警报

我感兴趣的某个 https 端点已关闭。我想要一种方法来监控它何时恢复,并在恢复时收到声音警报。如何在 Windows 中执行此操作?

答案1

while ($true) {if (Test-Connection -quiet 8.8.8.8) { [console]::beep() }}

编辑:抱歉,假设整个主机都关闭了,并且您在启动时从同一主机收到 ping 响应。如果您不需要检查 HTTPS 端点的内容,那么应该这样做:

while ($true) {if ((Test-netConnection -ComputerName www.google.com -Port 443).TcpTestSucceeded) { [console]::beep() }}

答案2

另一种选择:使用httping

它有一个适用于 Windows 的版本,具有漂亮的彩色输出,并且可以发出蜂鸣声:

httping --audible-ping --colors --url http://google.com

在此处输入图片描述

答案3

关于 Windows 中的蜂鸣声:如果您使用::start [/wait] AudioFile,例如 %SystemRoot%\Media 中的声音",它将打开媒体播放器,这会导致问题。您可以使用 vbs 脚本播放 .wav,该脚本在 Windows 10v1803 中仍然有效。例如 alarm05.vbs

' alarm sound
Set oVoice = CreateObject("SAPI.SpVoice")
set oSpFileStream = CreateObject("SAPI.SpFileStream")
oSpFileStream.Open "C:\Windows\Media\Alarm05.wav"
oVoice.SpeakStream oSpFileStream
oSpFileStream.Close

从 bat 中调用它,例如 beep.bat

:: start a VBScript
start "" alarm05.vbs
exit

使用 Powershell 完成 Webcheck 版本,例如 checksite.ps1 右键单击​​“使用 powershell 运行”

# https://www.dennis-stepp.com/post/uricheck/   ps by Dennis Eugene Stepp, Jr.

# First we create the request.
$HTTP_Request = [System.Net.WebRequest]::Create('http://google.com')
# $HTTP_Request = [System.Net.WebRequest]::Create('http://google.off')

# We then get a response from the site.
$HTTP_Response = $HTTP_Request.GetResponse()

# We then get the HTTP code as an integer.
$HTTP_Status = [int]$HTTP_Response.StatusCode

If ($HTTP_Status -eq 200) {
    Write-Host "Site is OK!"
    [console]::beep(880,300)
}
Else {
    Write-Host "The Site may be down, please check!"
    [console]::beep(440,300)
}

# Finally, we clean up the http request by closing it.
$HTTP_Response.Close()

pause

答案4

一个简单的解决方案是使用https://github.com/dexit/fping-windows-b每次收到响应时都会发出蜂鸣声:

fping.exe host.domain.com -b

每次 ping 失败时,你还可以使用-b-它来发出哔哔声,这在你希望在主机宕机时收到通知时很有用:

fping.exe 12.34.56.67 -b-

Fping 还支持 ping 多个主机并记录到文件,避免打开多个命令提示符。

注意:这使用 ICMP,因此仅显示主机是否启动,而不是实际的 HTTP(S) 端点,但根据您的需要可能仍然有用。

相关内容