用于每日计划的网络唤醒的 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 .

大功告成,它工作得很好,所以我仍然不明白上面的评论以及他打算如何使用它,但以上是任何人都需要做这个 运行... .

享受并感谢您的帮助。