当我的上网本从睡眠状态开始时,我需要自动重启我的Wi-Fi。我在任务计划程序中创建了具有以下属性的任务:
(常规标签)
(触发器)
(条件)
(设置)
(操作)
$wifi = Get-WmiObject win32_networkadapter|where {$_.name -like "*wireless*"} $wifi.disable() $wifi.enable()
当我手动运行脚本时,一切正常,但是当我尝试使用上述任务时没有任何反应,“最后一次运行结果”等于0x41301,我认为这意味着“任务仍在运行”。它不应该,因为手动启动时需要大约1秒才能完成。
干杯,
卡斯帕
答案 0 :(得分:1)
正如@mike在他的评论中所说,在Windows 8中,有一个名为Restart-NetAdapter
的特定命令。您不需要WMI。也许它比直接WMI更可靠。使用:
get-netadapter "wi-fi" | restart-netadapter
PowerShell v3的自动加载将负责加载正确的模块。另外,请注意您正在使用哪个用户执行任务。某些系统帐户可能缺乏执行此项工作的权利。
答案 1 :(得分:1)
好的,我找到了解决问题的方法。
这是由于“操作”标签中的字段标题误导 - 在“设置”部分的“程序/脚本”中。我的直觉告诉我,可以直接将路径放到PowerShell脚本中,但是......
NO!
我必须将路径放到PowerShell上(默认情况下为C:\ windows \ system32 \ windowspowershell \ v1.0 \ powershell.exe)并提供我的restart-netadapter脚本的路径作为参数('添加参数(可选) '领域)。现在它就像一个魅力。
这不是很直观。
感谢您的帮助! :)