Powershell:当网络发生变化时如何触发脚本?

Powershell:当网络发生变化时如何触发脚本?

我有一个 powershell 脚本,可以手动设置我的 dns。我需要它在网络接口启动或更改时运行。

例如,当我打开和关闭扩展坞(有有线互联网)时,我需要启动脚本。

它需要以管理员身份运行。

实现这一目标的途径是什么?(每隔几分钟运行一次的工作似乎....不太优雅?)

迄今为止发现的死胡同

建议按照以下步骤操作,如何在网络连接时启动命令。由于以下原因,这不能解决:

查看 Windows 10、20H2(此处运行的版本),我发现:

Event ID: 10000

系统启动时记录三次。

我不希望我的脚本运行三次(当然也不是每次都运行,但这种情况似乎会发生),并且对于我的脚本来说,重要的是 DHCP 已经启动并且路由表已经稳定下来。

每当网络启动或活动网络接口(或启动的接口数量)发生变化时,我的脚本都需要运行。

如何实现这一点?

当前求解方向

让计划任务挂起事件看起来是一个很好的解决方法,但是到目前为止,我无法找到一个干净的事件来挂起事件。(我翻遍了大量事件日志,却没有找到任何可用的干净事件。(甚至没有太多不干净的事件。)欢迎提供提示!)

答案1

如果您只需要在连接或断开文档时运行它。您可以使用事件:系统 > 内核电源 > 105。

当你的电源改变时它就会运行。

相关内容