使用 .vbs 发送“魔术包”

Hir*_*nda 0 vbscript

我是日本的一个服务台,虽然我一直在为我自己的项目学习 Python,但现在我需要编写 VBScript 来向呼叫中心的 200 多台 PC 广播“魔术包”。

有人可以指导我如何实现这个目标或简单地教我代码吗?

比如,我们公司的合规性不允许我下载任何免费软件,但不知何故我可以打开它并用.txt复制源代码并将其带入公司就可以了....

或者...我在下面找到了一些 VB6 脚本,我认为这正是我需要的,所以也许有人可以将其翻译成 VBS??

Dim strIP As String = "192.168.1.1" 'IP????
Dim strMAC As String = "00-00-00-00-00-00" '???????

'????????
Dim intCounter As Integer = 0
Dim sendBytes(0 To 101) As Byte

'???&hFF?6????
For I = 1 To 6
    sendBytes(intCounter) = &HFF
    intCounter += 1
Next
'MAC?????16?????
For I = 1 To 16
    'MAC???????
    For J = 0 To 5
        '16??????????
        sendBytes(intCounter) = Byte.Parse(strMAC.Substring(J * 3, 2), Globalization.NumberStyles.HexNumber)
        intCounter += 1
    Next
Next

'?????????????
Dim RemotePort As Integer = 2304 '?????

'???IP?????????????????????????????
Dim BCIP As System.Net.IPAddress
Dim EP As System.Net.IPEndPoint
Dim UDP As New System.Net.Sockets.UdpClient'UDP??

'?????????????????????
BCIP = System.Net.IPAddress.Parse("255.255.255.255")
EP = New System.Net.IPEndPoint(BCIP, RemotePort)
'????????????????
UDP.Send(sendBytes, sendBytes.Length, EP)

'???????IP??????????????
BCIP = System.Net.IPAddress.Parse(strIP)
EP = New System.Net.IPEndPoint(BCIP, RemotePort)
'????????????????
UDP.Send(sendBytes, sendBytes.Length, EP)

'UDP?????
udp.Close()
Run Code Online (Sandbox Code Playgroud)

我知道这种愚蠢的开放式问题会激怒一些中级技术人员,所以如果你对此感到不舒服,请忽略我。

Dai*_*Dai 5

您拥有的代码是 VB.NET,而不是 VB6 或 VBScript。VBScript 没有对套接字的内置支持,Windows 也没有用于处理套接字的 COM 库,但可以使用第三方库(例如来自 Chilkat):http : //www.example-code.com/vbscript /socket_connect.asp

如果您是系统管理员,最好使用 PowerShell:

这是您想要的示例(发送魔术包):http : //powershell.com/cs/media/p/1506.aspx