用于每日计划的网络唤醒的 Powershell 脚本
Powershell script for daily scheduled Wake-On-Lan
正在阅读这篇文章的各位好。
今天我想寻求一些帮助,因为我似乎无法继续解决这个问题。
我对编码和网络以及所有这些都很陌生,但我需要以某种方式使用脚本来唤醒局域网。不过,这确实令人困惑,而且我几乎无法理解在互联网上找到的任何脚本。
我需要的只是一些简单的帮助。
使用您知道的适用于 WOL 的任何脚本,并将以下信息输入其中并与我分享并请解释。
PC 详细信息为 192.168.10.82 / 255.255.255.255 / 00:19:99:EB:27:FF
以上为IP/子网/MAC。我已经设法使用第 3 方程序来 运行 神奇的数据包,它工作正常,PC 从关机状态打开就好了。
但是我想每天在特定时间执行此操作,因此我需要使用带有计划任务的脚本。
请帮助我了解我给你的信息在脚本中的位置以及它是如何工作的。
我仍然不知道如何使用上面的东西,"Usage" 让我非常困惑,回复并没有帮助我更好地理解它,所以我玩了一段时间并改变了有点。
param(
[string]$mac="XX:XX:XX:XX:XX:XX", <# REPLACE THE WANTED MAC HERE WITH YOUR OWN #>
[string]$ip="XXX.XXX.XXX.XXX", <# <-REPLACE THE WANTED IP HERE WITH YOUR OWN #>
[int]$port=9 <# Probably the port is 9 so leave it as it is#>
)
$broadcast = [Net.IPAddress]::Parse($ip)
$mac=(($mac.replace(":","")).replace("-","")).replace(".","")
$target=0,2,4,6,8,10 | % {[convert]::ToByte($mac.substring($_,2),16)}
$packet = (,[byte]255 * 6) + ($target * 16)
$UDPclient = new-Object System.Net.Sockets.UdpClient
$UDPclient.Connect($broadcast,$port)
[void]$UDPclient.Send($packet, 102)
如您所见,脚本的 [string]$mac="XX:XX:XX:XX:XX:XX" 部分和 [string]$ip="XXX.XXX.XXX.XXX" 都是您需要担心的,简单将 X 替换为您想要唤醒的 PC 的详细信息,您无需触摸任何其他内容。
将 $MAC 和 $ip 更改为您需要的内容,然后将其保存为 wol.ps1 然后只需右键单击它,运行 使用 powershell .
大功告成,它工作得很好,所以我仍然不明白上面的评论以及他打算如何使用它,但以上是任何人都需要做这个 运行... .
享受并感谢您的帮助。
正在阅读这篇文章的各位好。 今天我想寻求一些帮助,因为我似乎无法继续解决这个问题。
我对编码和网络以及所有这些都很陌生,但我需要以某种方式使用脚本来唤醒局域网。不过,这确实令人困惑,而且我几乎无法理解在互联网上找到的任何脚本。
我需要的只是一些简单的帮助。
使用您知道的适用于 WOL 的任何脚本,并将以下信息输入其中并与我分享并请解释。
PC 详细信息为 192.168.10.82 / 255.255.255.255 / 00:19:99:EB:27:FF
以上为IP/子网/MAC。我已经设法使用第 3 方程序来 运行 神奇的数据包,它工作正常,PC 从关机状态打开就好了。
但是我想每天在特定时间执行此操作,因此我需要使用带有计划任务的脚本。
请帮助我了解我给你的信息在脚本中的位置以及它是如何工作的。
我仍然不知道如何使用上面的东西,"Usage" 让我非常困惑,回复并没有帮助我更好地理解它,所以我玩了一段时间并改变了有点。
param(
[string]$mac="XX:XX:XX:XX:XX:XX", <# REPLACE THE WANTED MAC HERE WITH YOUR OWN #>
[string]$ip="XXX.XXX.XXX.XXX", <# <-REPLACE THE WANTED IP HERE WITH YOUR OWN #>
[int]$port=9 <# Probably the port is 9 so leave it as it is#>
)
$broadcast = [Net.IPAddress]::Parse($ip)
$mac=(($mac.replace(":","")).replace("-","")).replace(".","")
$target=0,2,4,6,8,10 | % {[convert]::ToByte($mac.substring($_,2),16)}
$packet = (,[byte]255 * 6) + ($target * 16)
$UDPclient = new-Object System.Net.Sockets.UdpClient
$UDPclient.Connect($broadcast,$port)
[void]$UDPclient.Send($packet, 102)
如您所见,脚本的 [string]$mac="XX:XX:XX:XX:XX:XX" 部分和 [string]$ip="XXX.XXX.XXX.XXX" 都是您需要担心的,简单将 X 替换为您想要唤醒的 PC 的详细信息,您无需触摸任何其他内容。
将 $MAC 和 $ip 更改为您需要的内容,然后将其保存为 wol.ps1 然后只需右键单击它,运行 使用 powershell .
大功告成,它工作得很好,所以我仍然不明白上面的评论以及他打算如何使用它,但以上是任何人都需要做这个 运行... .
享受并感谢您的帮助。