我想创建一个脚本,在网络连接发生变化时执行各种操作。例如,如果机器连接到我的办公室网络,我可能希望它:
- 静音
- 更改其 DNS
- 更改其代理设置
- 更改默认打印机
然后,当机器脱离办公网络时,它可能会恢复其中一些。
大概“活动网络”将基于 IP 地址/网关范围或 WIFI 网络名称等。
您有任何推荐的工具可以实现这一点吗?我发现类似的东西适用于许多 IT 专业人士,因此我相信那里有一些很好的建议。
请注意,此功能需要在网络发生变化时才能运行 - 而不仅仅是在用户登录/注销时。
答案1
“网络位置感知”服务(http://msdn.microsoft.com/en-us/library/ms739931(VS.85).aspx) 在 Windows XP(还有 2000?我不记得了……)及更高版本中将启用此功能,但我还没有发现有人编写过应用程序来利用它。我很想自己编写一些东西,但我没有足够的空闲时间去考虑它。
这不是一个简单 VBScript 的东西,但也不至于需要太多编码。也许有人可以接受这个想法并付诸实践。甚至还有示例代码http://www.microsoft.com/downloads/details.aspx?familyid=ef8a6228-f11d-4ba0-b73e-dd8dc7dd11e8&displaylang=en。
我曾经无数次想要这个功能,而且我想有不少人也希望看到它。
答案2
您可以使用任务计划程序:
- 右键单击“任务计划程序库”
- 点击“创建任务”
- 在“名称:”字段中写入您的新任务的名称。
- 检查“安全选项”区域是否有您想要的复选框。
- 在“触发器”选项卡下单击“新建...”
- 选择“开始任务:”=>“在事件中”
- 选择“日志:”=>“Microsoft-Windows-NetworkProfile/Operational”
- 选择“来源:”=>“NetworkProfile”
- 写入“事件 ID:”=> 10000
- 确定此对话框。
- 在“操作”选项卡下单击“新建...”
- 选择“操作:”=>“启动程序”
- 对于“程序/脚本:”浏览到您最喜欢的脚本文件。
- 确定此对话框。
- 根据您的喜好设置有关“空闲”、“交流电源”等条件的“条件”选项卡。
- 还可以在“设置”选项卡下进行设置。
- 好的,到这里就全部完成了。
- 测试新事件。
以防万一,那里还有针对计算机“挂起”和“恢复”的事件。例如,我使用它们来停止并重新启动这些事件上的 Hamachi,否则我的机器似乎会出现问题。
对于计算机“挂起”,您可以使用日志“Microsoft-Windows-Kernel-Power/Thermal-Operational”,来源“Kernel-Power”,事件 ID 为 42。
对于计算机“恢复”,您可以使用日志“System”,来源“Power-Troubleshooter”,事件 ID 为 1。
对于用户登录/注销,我不知道任务计划程序下的事件(但我相信它们也在那里可用),但您可以在这里配置它:
- 发射管理控制台
- 打开“用户配置”
- 打开“Windows 设置”
- 点击“脚本(登录/注销)”
- 在右侧窗格中,您可以为“登录”和“注销”事件分配脚本。请注意,如果您分配了多个脚本,则不要假设它们同步运行。它们可能不会。在这种情况下,请使用单个脚本,按顺序调用其他脚本。我还没有检查这些脚本在哪个帐户下运行 - 是用户还是系统?
您可以在同一窗口中的“计算机配置”文件夹下对计算机“启动”和“关机”事件执行类似操作。启动脚本在用户登录前在系统帐户下运行。
答案3
我曾经成功网络概况前。
答案4
这是一种侧面的和部分的答案(甚至没有记录,因为我似乎找不到原始文章),但我很确定 Windows 7 在打印机对象上有一个属性表,允许您根据子网更改默认值。
我也很想看到解决您列表中其余内容的功能。