Skip to content

Instantly share code, notes, and snippets.

@luoxufeiyan
Created June 4, 2026 01:12
Show Gist options
  • Select an option

  • Save luoxufeiyan/18363b6776b180367a4cba487135dc5f to your computer and use it in GitHub Desktop.

Select an option

Save luoxufeiyan/18363b6776b180367a4cba487135dc5f to your computer and use it in GitHub Desktop.
配置连入随身WiFi后自动启动电脑热点(适用于UDX710,理论适配所有RNDIS设备)

Windows 10 随身WIFI自动热点共享任务计划程序配置指南

本指南说明如何配置 Windows 任务计划程序,在接入特定随身 WIFI 且电脑处于充电状态时自动开启 WLAN 共享。

前提条件

已创建后台脚本(例如路径为 D:\AutoHotspot.ps1),且随身 WIFI 网络名称确认无误(例如:网络 3)。

配置步骤

1. 创建基本任务

  1. 按下 Win + R 键,输入 taskschd.msc 并回车,打开任务计划程序
  2. 在右侧“操作”面板中,点击创建任务...(而非“创建基本任务”)。
  3. 常规选项卡中进行以下配置:
    • 名称:输入 AutoHotspot
    • 安全选项:勾选“不管用户是否登录都要运行”
    • 最高权限:勾选“使用最高权限运行”

2. 配置触发器(需新建两个独立触发器)

触发器一:网络接入触发

  1. 切换到触发器选项卡,点击新建...
  2. 开始任务:选择“发生事件时”。
  3. 设置:选择“基本”。
    • 日志:选择 Microsoft-Windows-NetworkProfile/Operational
    • :选择 NetworkProfile
    • 事件 ID:输入 10000
  4. 点击确定

触发器二:电源接入触发

  1. 再次点击新建...
  2. 开始任务:选择“发生事件时”。
  3. 设置:切换至“自定义”,并点击新建事件筛选器...
  4. 在弹出的窗口中配置:
    • 事件日志:勾选“Windows 日志”下的 系统
    • 事件源:勾选 Kernel-Power
    • 事件 ID:在文本框内输入 105
  5. 点击确定返回触发器窗口,再次点击确定保存该触发器。

3. 配置操作

  1. 切换到操作选项卡,点击新建...
  2. 操作:选择“启动程序”。
  3. 程序或脚本:输入 powershell.exe
  4. 添加参数(可选):输入以下内容(确保脚本路径正确): -ExecutionPolicy Bypass -WindowStyle Hidden -File "D:\AutoHotspot.ps1"
  5. 点击确定

4. 配置条件

  1. 切换到条件选项卡。
  2. 电源选项取消勾选“只有在计算机使用交流电源时才启动此任务”。
    • 注意:具体的交直流电判断逻辑已在 PowerShell 脚本内部执行,在此处取消勾选可确保任务在插拔电源切换状态时能正常被触发器唤醒。

5. 保存任务

  1. 点击最下方的确定按钮。
  2. 系统会弹出凭据输入框,输入当前具有管理员权限的 Windows 账户和密码以完成创建。
Add-Type -AssemblyName System.Windows.Forms
$powerStatus = [System.Windows.Forms.SystemInformation]::PowerStatus.PowerLineStatus
$network = Get-NetConnectionProfile -Name "网络 3" -ErrorAction SilentlyContinue
if ($powerStatus -eq 'Online' -and $network.IPv4Connectivity -eq 'Internet') {
$connectionProfile = [Windows.Networking.Connectivity.NetworkInformation, Windows.Networking.Connectivity, ContentType=WindowsRuntime]::GetInternetConnectionProfile()
if ($null -ne $connectionProfile) {
$tetheringManager = [Windows.Networking.NetworkOperators.NetworkOperatorTetheringManager, Windows.Networking.NetworkOperators, ContentType=WindowsRuntime]::CreateFromConnectionProfile($connectionProfile)
if ($tetheringManager.TetheringOperationalState -ne 1) {
$tetheringManager.StartTetheringAsync()
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment