当我尝试通过远程桌面连接Windows 7机器时,是否可以使它自动退出睡眠状态?
我要连接的计算机的省电选项(根据我认为是受组策略强制执行)是30分钟后进入睡眠状态,这意味着我必须亲自走过去按一个键,或者启动另一个唤醒功能,局域网工具使它退出睡眠模式。
如果远程桌面连接客户端自动发送局域网唤醒数据包,我会很好-这可能吗?
当我尝试通过远程桌面连接Windows 7机器时,是否可以使它自动退出睡眠状态?
我要连接的计算机的省电选项(根据我认为是受组策略强制执行)是30分钟后进入睡眠状态,这意味着我必须亲自走过去按一个键,或者启动另一个唤醒功能,局域网工具使它退出睡眠模式。
如果远程桌面连接客户端自动发送局域网唤醒数据包,我会很好-这可能吗?
Answers:
您需要通过路由器发送一个魔术包(用于局域网唤醒)。困难的,因为路由器不转发这些默认,但也有变通方法为发现这里:
为了将计算机从Internet唤醒,您需要与路由器连接到调制解调器的宽带连接,以保持连接畅通(即使您具有静态IP,也需要路由器)。
通过使用Internet IP地址和要唤醒的计算机的MAC地址通过Internet发送魔术包,可以从远程唤醒计算机。
如果您不知道自己的IP地址:
链接到:如何从远程位置找到我的计算机/服务器Internet地址。
您必须准备系统以通过Internet唤醒。
用路由器和软件防火墙打开一个端口(使用高端口号,这样它就不会与任何其他端口冲突,5850是一个很好的例子)。
将端口分配给要WOL的计算机的内部IP(您只能将端口用于一台计算机)。
获取此实用程序,它可以让您定义WOL的端口。
链接到: Windows图形用户界面(WOL GUI)的LAN唤醒
随身携带WOL GUI的副本,并写下MAC号。在远程位置,启动WOL GUI,然后键入您的MAC号,在Internet地址(Internet IP)中键入您保持打开状态的端口号。单击唤醒我,它应该可以工作。
实用程序:
魔术包GUI实用程序是免费软件。
您还可以使用热键将其与命令行版本的Wake On LAN一起唤醒:
语法:
C:\path\to\wolcmd.exe [Mac address] [IP address] [Subnet mask] [port number]
使事情变得容易:
!w :: Run,C:\ wolcmd.exe 009027a324fe 195.188.159.20 255.255.255.0 8900
相应地修改脚本,以便路径指向wolcmd.exe
可执行文件,并且MAC,IP和子网正确。
改善John Sible的答案...如果在Windows中,则可以通过使用“ timeout” cmd来避免C#代码,如下所示。
ECHO OFF
CLS
WolCmd.exe MAC_OF_NIC IP_ADDR MASK 7
timeout 10
ECHO Starting remote desktop connection
start mstsc.exe mycomputer.rdp
有关.cmd文件的sleep部分的更多选项,请参见StackOverflow上的此答案:https : //stackoverflow.com/questions/4317020/windows-batch-sleep
使用其他答案中的信息,我最终创建了一个包含以下文件的文件夹:
connect.bat
mycomputer.rdp (remote desktop connection file)
sleep.exe (a little program to wait a specified number of milliseconds)
wolcmd.exe
因此,运行connect.bat,唤醒我的计算机,等待10秒钟,然后打开与它的远程桌面连接。
connect.bat包含以下内容:
ECHO OFF
CLS
WolCmd.exe 0011AA22BB33 10.1.255.255 255.255.0.0 7
ECHO Sleeping...
Sleep.exe 10000
ECHO Starting remote desktop connection
start mstsc.exe mycomputer.rdp
您可以通过将下面的源另存为sleep.cs并使用.NET框架随附的C#编译器对其进行编译来生成sleep.exe:
csc /out:sleep.exe c:\sleep.cs
sleep.cs的来源
using System;
using System.Threading;
namespace Sleep
{
class Program
{
static void Main(string[] args)
{
if (args.Length == 1)
{
int period = 0;
Int32.TryParse(args[0], out period);
Console.WriteLine("Sleeping for {0} ms", period);
Thread.Sleep(period);
}
}
}
}
您需要一个支持ARP卸载和TCP SYN唤醒模式的网络适配器,如http://technet.microsoft.com/en-us/library/ee617165%28v=ws.10%29.aspx中所述
如果支持并启用了这些功能,则当您打开远程桌面时,whindos不会警告您有关睡眠/休眠策略。
与出现的错误消息有不同的类型原因。
关闭其他程序,然后尝试重新连接。如果问题仍然存在,请重新启动计算机,然后再次尝试连接。如果仍然无法连接,请与网络管理员或技术支持联系。(有关更多信息,请参见防止内存不足问题。)
确保您的网络连接正常工作,例如通过访问某些本地或全局域,或者将以太网电缆插入网络适配器或无线交换机已打开。
确认已启用远程桌面。检查远程计算机是否正在运行(既不处于睡眠模式也不处于休眠模式)。验证计算机名称或其IP地址,并确保输入正确。
将家用计算机连接到公司域上的计算机需要一个中间步骤,以确保计算机可以进行通信,例如建立与公司网络的虚拟专用网(VPN)连接。
或者另一个应用程序可能正在使用与RDP相同的端口。
有关比我最常见的情况更多的示例或有关每个示例的详细信息,请参见: