Windows 11 实现移动热点自启动

原文链接:https://blog.iyatt.com/?p=16784

背景

公司的 WiFi 用起来很卡,但是电脑有线使用网络又是正常的,另外我用的那台台式机是有无线网卡的,平时就是用电脑开热点给手机用,但是每次开机都要自己手动启动就麻烦,有时候还忘了。所以到处查找方法尝试,终于找到一个可行的方案。

测试环境:
Windows 11 专业工作站版 23H2
PowerShell 5.1(使用预装的版本)

操作

设置好热点信息

{Win}+{I}打开设置,前往网络和Internet-》移动热点
file

主要就是设置网络名称和密码,频段根据需要自己选择
file

然后打开移动热点,可以看到多出来一个节能,把它关掉就不会自动停用 WiFi 了
file

允许 PowerShell 脚本执行

Windows 默认禁止 PowerShell 运行脚本文件,
以管理员身份打开
file

执行

Set-Executionpolicy RemoteSigned

file

创建 PowerShell 脚本文件用于实现 WiFi 打开

脚本基于 https://gist.github.com/primaryobjects/8b54f7f4219960127f1f620116315a37
修改。
创建一个文本文件,将下面的内容粘粘进去,保存后扩展名改为 .ps1

$PSVersionTable
"-" * 100Add-Type -AssemblyName System.Runtime.WindowsRuntime
$asTaskGeneric = ([System.WindowsRuntimeSystemExtensions].GetMethods() | Where-Object { $_.Name -eq 'AsTask' -and $_.GetParameters().Count -eq 1 -and $_.GetParameters()[0].ParameterType.Name -eq 'IAsyncOperation`1' })[0]Function Await($WinRtTask, $ResultType) {$asTask = $asTaskGeneric.MakeGenericMethod($ResultType)$netTask = $asTask.Invoke($null, @($WinRtTask))$netTask.Wait(-1) | Out-Null$netTask.Result
}Function AwaitAction($WinRtAction) {$asTask = ([System.WindowsRuntimeSystemExtensions].GetMethods() | Where-Object { $_.Name -eq 'AsTask' -and $_.GetParameters().Count -eq 1 -and !$_.IsGenericMethod })[0]$netTask = $asTask.Invoke($null, @($WinRtAction))$netTask.Wait(-1) | Out-Null
}Function Get_TetheringManager() {$connectionProfile = [Windows.Networking.Connectivity.NetworkInformation,Windows.Networking.Connectivity,ContentType=WindowsRuntime]::GetInternetConnectionProfile()$tetheringManager = [Windows.Networking.NetworkOperators.NetworkOperatorTetheringManager,Windows.Networking.NetworkOperators,ContentType=WindowsRuntime]::CreateFromConnectionProfile($connectionProfile)return $tetheringManager;
}Function SetHotspot($Enable) {$tetheringManager = Get_TetheringManagerif ($Enable -eq 1) {if ($tetheringManager.TetheringOperationalState -eq 1){"Hotspot is already On!"}else{"Hotspot is off! Turning it on"Await ($tetheringManager.StartTetheringAsync()) ([Windows.Networking.NetworkOperators.NetworkOperatorTetheringOperationResult])}}else {if ($tetheringManager.TetheringOperationalState -eq 1){"Hotspot is on! Turning it off"Await ($tetheringManager.StopTetheringAsync()) ([Windows.Networking.NetworkOperators.NetworkOperatorTetheringOperationResult])}else{"Hotspot is already Off!"}}
}# Define a function to check the status of the hotspot
Function Check_HotspotStatus() {$tetheringManager = Get_TetheringManagerreturn $tetheringManager.TetheringOperationalState -eq "Off"
}# Define a function to start the hotspot
Function Start_Hotspot() {$tetheringManager = Get_TetheringManagerAwait ($tetheringManager.StartTetheringAsync()) ([Windows.Networking.NetworkOperators.NetworkOperatorTetheringOperationResult])
}Function exitCountdown($sec)
{for (; $sec -ge 0; --$sec){"$sec"Start-Sleep -Seconds 1}exit 0
}if ($args.Length -eq 0) {while (Check_HotspotStatus) {SetHotspot 1Start-Sleep -Seconds 2if (Check_HotspotStatus){"Failure.Try again in 2s."Start-Sleep -Seconds 2continue}else{"Success.Exit in 10s."exitCountdown 10exit 0}}"Hotspot is already.Exit in 10s."exitCountdown 10
}
else {switch ($args[0]) {"0" {SetHotspot 0break}"1" {SetHotspot 1break}default {"Invalid parameter, please enter 1 to turn on hotspot, enter 0 to turn off hotspot"exit 1}}
}

建议放置到固定路径,比如我放置在**%HOMEPATH%**家目录下,命名为 hotspot.ps1
file

file

这个脚本提供了三种模式(注意这个脚本在 Windows 11 预装的 PowerShell 5.x 可以运行,但在自己安装的新的 7.x 无法使用)

# 用于实现自启动
powershell 【hotspot.ps1路径】# 手动启动热点
powershell 【hotspot.ps1路径】1# 手动关闭热点
powershell 【hotspot.ps1路径】1

创建自动执行任务

打开任务计划程序
file

创建任务
file

自己为任务命名
file

新建触发器,比如可以选择解锁时(输入密码认证进入桌面时)
file

新建操作
程序或脚本处填C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe
添加参数处填上面脚本文件的所在路径,比如我这里是**%HOMEPATH%\hotspot.ps1**
file

条件栏可能会默认勾选使用交流电才启动任务(插上电源时),去掉的话不插电源默认也启用(主要针对笔记本电脑,勾选了没插电源不会执行)
file

设置完,确定即可,可以按{Win}+{L}锁定,再尝试登录验证脚本是否按预期的执行
file

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/51599.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【云原生】Kubernetes中crictl的详细用法教程与应用实战

✨✨ 欢迎大家来到景天科技苑✨✨ 🎈🎈 养成好习惯,先赞后看哦~🎈🎈 🏆 作者简介:景天科技苑 🏆《头衔》:大厂架构师,华为云开发者社区专家博主,…

心动小站Ⅸ--Nvidia一种夸张的增长

当有灭绝级别的威胁时,你希望它如何出现在头版?华尔街日报或 CNN 的新闻中说它即将发生? 大多数新闻都是在灾难发生后才传到你耳中的。谈到人工智能,我们已经收到了很多警告,这些警告来自各个领域的专家,比…

下面关于枚举的描述正确的一项是?

A. 枚举中定义的每一个枚举项其类型都是String; B. 在Java中可以直接继承java.util.Enum类实现枚举类的定义; C. 利用枚举类中的values()方法可以取得全部的枚举项; D. 枚举中定义的构造方法只能够使用private权限声明; 答案选择…

鸿蒙(API 12 Beta2版)NDK开发【Node-API简介】

Node-API简介 场景介绍 HarmonyOS Node-API是基于Node.js 8.x LTS的[Node-API]规范扩展开发的机制,为开发者提供了ArkTS/JS与C/C模块之间的交互能力。它提供了一组稳定的、跨平台的API,可以在不同的操作系统上使用。 本文中如无特别说明,后…

鸿蒙配置Version版本号,并获取其值

app.json5中配置版本号: 获取版本号: bundleManager.getBundleInfoForSelf(bundleManager.BundleFlag.GET_BUNDLE_INFO_WITH_APPLICATION).then((bundleInfo) > {let versionName bundleInfo.versionName; //应用版本号}).catch((error: BusinessE…

CTF Web SQL注入 10000字详解

这里写目录标题 涉及的数据库知识unionorder bydatabase()information_schemalimit--空格注释replaceinto outfilelikeGROUP BYHAVINGGROUP BY、HAVING、WHERE之间的关系regexp 原理信息收集操作系统数据库判断注入点注入点类型POST注入数字型注入字符型注入搜索型注入Insert/u…

数学中的连分式、无穷连根式、平方根

连分式 连分式(continued fraction)由和与倒数的多层嵌套构成,可以是有限的,也可以是无限的。 表达式:或 import mathdef fraction_to_continued_fraction(numerator, denominator, max_terms):"""计算…

【无标题】web+http协议+nginx搭建+nginx反向代理(环境准备)

一.Web 为用户提供互联网上浏览信息的服务,web服务是动态的,可交互的。 1.安装httpd yum -y install httpd 2.启动 systemctl start httpd 3.关闭防火墙 systemctl stop firewalld [rootrs html]# echo "我手机号是" > …

如何在 cPanel 上更改主共享 IP 地址

cPanel & WHM的主共享IP地址是服务器上新建虚拟主机账户时的默认IP地址。这使得主机服务商能够轻松创建新账户,并简化原本复杂且耗时的域名和网络服务器配置过程。但如果你想更改cPanel服务器的主共享IP地址,该怎么办呢? 本文将概述更改服…

PHP经销商订货管理系统小程序源码

经销商订货管理系统:重塑供应链效率的利器 🚀 开篇:解锁供应链管理的新纪元 在竞争激烈的商业环境中,经销商作为供应链的关键一环,其订货效率直接影响到整个供应链的流畅度和响应速度。传统的订货方式往往繁琐、易出…

精品PPT | 云原生大数据平台构建及落地实践.pptx

1、监控和可观测性的关系及渊源 2、当前阶段落地可观测性的挑战在哪里 3、落地好一个可观测系统的三大要素 4、面向故障处理过程的可观测性体系建设案例 5、思考:人工智能2.0对可观测性技术和产品演进的影响

YOLO入门教程(一)——训练自己的模型【含教程源码 + 故障排查】

目录 引言前期准备Step1 打标训练Step2 格式转换Step3 整理训练集Step4 训练数据集4.1创建yaml文件4.2训练4.3故障排查4.3.1OpenCV版本故障,把OpenCV版本升级到4.0以上4.3.2NumPy版本故障,把NumPy降低版本到1.26.44.3.3没有安装ultralytics模块4.3.4Aria…

Web 安全:Memcached 未授权访问漏洞.(11211端口)

Web 安全:Memcached 未授权访问漏洞 Memcached 是一套常用的 key-value 缓存系统,由于它本身没有权限控制模块,所以对公网开放的 Memcache 服务很容易被攻击者扫描发现。然而 Memcached 的默认配置,11211 端口 不需要密码即可访问…

ROUND() Function in SQL(四舍五入)

ROUND() Function in SQL ROUND() 函数用于将数值四舍五入到指定的小数位数或者整数位数。 不同的数据库系统可能会有一些细微的语法差异,但基本功能都是一致的。 1. 基本语法 ROUND(number, decimal_places)number: 要进行四舍五入的数值。decimal_places: 可选参…

Spring事件监听的核心机制及其原理

Spring事件监听 Spring的事件监听机制主要由三大核心部分组成即事件,监听器和播放器三部分组成。 事件的发布是通过spring当中的pulishEvent方法实现。事件监听实现是通过监听器监听了对应事件的监听器来实现的。 事件监听的作用:为系统业务之间进行一…

1、AI测试辅助-提示词优化

AI测试辅助-提示词优化 一、基本规则二、提示词优化技巧:2.1 Prompt 逆向工程2.2 提示词框架2.2.1 CO-STAR 框架 2.3 提示词生成器 三、总结 一、基本规则 写提示词有个通用的基本规则,遵循这个规则基本上能解决大部分的问答: 角色任务要求 …

2024经济师考试报名『注册流程』图解!

⏰报名时间:8月12日—9月11日 ☑️报名注册流程 1、经济师考试报名注册网站:中国人事考试网. 2、点击考生登录栏目中的【新用户注册】按钮,进行注册。 3、进入用户注册界面,填写注册信息。 4、填写完毕确认无误后点击【提交】&…

thinkPHP开发的彩漂网站源码,含pc端和手机端

源码简介 后台thinkPHP架构,页面程序双分离,Mysql数据库严谨数据结构、多重数据审核机制、出票机制和监控机制,html5前端技术适用移动端,后台逻辑更多以server接口可快捷实现对接pc和ap,下载会有少量图片素材丢失,附件有下载说明前端demo账户密码和后台管理地址管理员账户密码…

【C++】C++11的新特性 --- lambda表达式 ,新的类功能,模块的可变参数 , emplace系列接口

如果你停止,就是谷底! 如果你还在继续,就是上坡! 这是我听过关于人生低谷最好的阐述。 -- 刘同 C11的新特性 1 lambda表达式1.1 基本用法1.2 细谈参数列表与捕捉列表 2 新的类功能2.1 移动构造与移动赋值2.2 default和delete 3 模块的可变参数4 emplace系列接口Thanks♪(&…