我想创build一个脚本来做各种事情,当networking连接改变。 例如,如果机器连接到我的办公室networking,我可能希望它:
那么,当机器离开办公室networking时,它可能会恢复其中的一些。
据推测,“活动networking”将基于IP地址/网关范围或WIFInetworking名称等。
你有什么推荐的工具来完成这个? 我可以看到像这样的东西适用于许多IT专业人员,所以我确信有一些很好的技巧。
请注意,这是希望在networking更改时起作用 – 而不仅仅是用户login/注销时。
在Windows XP(和2000?我不记得…)中的“networking位置感知”服务( http://msdn.microsoft.com/en-us/library/ms739931(VS.85).aspx )和up会启用这个function,但是我还没有find有人写了一个应用程序来利用它。 我很想自己编写代码,但是我没有足够的备用周期来开始考虑。
这不会是一个简单的VBScript的东西,但也不会是那么多的编码。 也许有人可以拿起这个想法,并运行它。 甚至还有示例代码在http://www.microsoft.com/downloads/details.aspx?familyid=ef8a6228-f11d-4ba0-b73e-dd8dc7dd11e8&displaylang=en 。
曾经有很多次我想要这个function,而且我认为有不止一些人希望看到它。
您可以使用任务计划程序执行此操作:
以防万一,也有计算机“暂停”和“恢复”在那里可用的事件。 例如,我用它们在这些事件上停止并重新启动Hamachi,否则在我的机器上似乎有问题。
对于计算机“挂起”,您可以使用日志“Microsoft-Windows-Kernel-Power / Thermal-Operational”,源“内核电源”,事件ID为42。
对于计算机“恢复”您可以使用日志“系统”,来源“电源故障排除”,事件ID是1。
对于用户login/注销,我不知道任务计划程序下的事件(但我相信它们也可用),但您可以在这里configuration它:
您可以在同一窗口的“计算机configuration”文件夹下为计算机“启动”和“关机”事件做类似的事情。 启动脚本在用户login之前在系统帐户下运行。
之前我已经在Net Profiles上取得了一些成功。
使用.net框架版本2可以使用System.Net.NetworkInformation命名空间。 从这里你可以确定:
networking可用性:NetworkAvailabilityChangedEventHandler()networking地址更改:NetworkAddressChangedEventHandler()ipaddress:IPAddressInformation
等等。
有多less这是通过PowerShell可用我不知道,因为我不使用它。 但是我写了一个非常简单的vb.net托盘应用程序,只监视networking可用性并在networking可用时连接到networking共享。 如果你对代码的基本知识感兴趣,请告诉我。
这是一个横向和部分的答案(甚至没有logging,因为我似乎无法find原来的文章),但我相当确定Windows 7有一个属性表在打印机对象,让您更改默认值取决于子网。
我很想看看列表中的其他function。
您可以创build一个batch file,读取ipconfig命令的结果,并每5秒钟运行一次…