有幸在一家操作系统公司工作过,操作系统在软件里属于基础软件,其用户群庞大,得益于这段工作经历,让我对软件产业有了全景式的理解。工作期间处理客户问题较多,为提高问题处理效率,对于一些咨询概率较高的问题,我自己做了解决方法总结,并制作了相应的小工具(bat批处理文件),为给这段经历留一些印迹,特开启Windows使用窍门系列文章,一是便于以后自己有一个地方可以回顾这段工作经历(每个工具都是同事们智慧的结晶),二是响应技术“普惠”风向,让有缘看到这篇文章的读者快速掌握Windows使用技巧,将windows打理成自己的效率助手。
这些使用技巧及工具没有什么一定的顺序性,所以系列中的每一项内容也就没什么先后之分,全部采取随机发布方式。读者分急性子和慢性子,分只要结果的和想研究研究的。为了照顾急性子和只想要结果的,我们直接说结果,后面内容供慢性子和想研究的读者阅览,也可提供建议,促进内容完善。
一、正确的方法
1.注册表添加REG_DWORD值
命令行代码,如下所示:
reg add "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\WindowsUpdate\UX\Settings" /v “FlightSettingsMaxPauseDays” /t REG_DWORD /D 3650 /f
思路:
1.注册表是操作系统的数据库,在注册表正确的位置添加正确的内容,可以修改windows的功能表现
2.方法是增加windows暂停更新时间(默认只能暂停35天)
3.方法尽量不影响系统其他功能组件
执行后,效果如下图所示:
说明:命令行里的3650可以修改成其他数值,单位是天
修改前后“暂停更新”功能显示对比如下图所示:
修改前(可暂停时间)
修改后(可暂停时间)
windows更新显示内容变化
2.制作自动以管理员身份运行的批处理文件
经测试,如下命令执行后可使批处理文件自动以管理员身份运行:
@echo off
:: BatchGotAdmin
:-------------------------------------
REM --> Check for permissions
>nul 2>&1 "%SYSTEMROOT%\system32\cacls.exe" "%SYSTEMROOT%\system32\config\system"
REM --> If error flag set, we do not have admin.
if '%errorlevel%' NEQ '0' (
echo Requesting administrative privileges...
goto UACPrompt
) else ( goto gotAdmin )
:UACPrompt
echo Set UAC = CreateObject^("Shell.Application"^) > "%temp%\getadmin.vbs"
echo UAC.ShellExecute "%~s0", "", "", "runas", 1 >> "%temp%\getadmin.vbs"
"%temp%\getadmin.vbs"
exit /B
:gotAdmin
if exist "%temp%\getadmin.vbs" ( del "%temp%\getadmin.vbs" )
pushd "%CD%"
CD /D "%~dp0"
两段命令行合并后,可成最终的批处理文件,如附件所示。附件在首页,本来想公开的,不知为什么点进去后需VIP才能下载,我再研究研究CSDN。
二、错误的方法
1.禁用Windows Update服务
此方法分两步操作:首先,键盘Win+R后输入services.msc后回车,打开服务管理器,从列表里找到Widows Update;其次,双击Windows Update,将其启动类型改为“禁用”并停止该服务
说明:此方法只起效在当前状态,当重启电脑一次或几次后就又自动恢复了
2.修改系统时间
此方法分如下四步操作:首先,关闭“系统自动设置时间”,如下图所示:
然后,手动修改当前时间为几年后的一个时间点;
其次,将系统更新暂停时间设定为几年后的一个时间点;
最后,将系统时间恢复到当前时间。
说明:此方法,也是只起效在当前状态,重启电脑几次后更新就自动恢复了。