我有一个 USB 网络适配器,需要特定的网络配置。有时几个月不插电,设置就会丢失。事实证明,Windows 通过磁盘清理定期删除 30 天内未连接的设备。
摘录自%Windir%\Inf\setupapi.dev.log
:
>>> [Device and Driver Disk Cleanup Handler]
>>> Section start YYYY/MM/DD HH:MM:SS.FFF
cmd: C:\WINDOWS\system32\cleanmgr.exe /autoclean /d C:
set: Searching for not-recently detected devices that may be removed from the system.
set: Devices will be removed during this pass.
set: Default missing device timeout period is 30 days.
set: Device USB\VID_XXXX&PID_XXXX\XXX will be removed.
set: Device USB\VID_XXXX&PID_XXXX\XXX was removed.
我发现了一个运行此命令的计划任务Microsoft\Windows\DiskCleanup\SilentCleanup
,但是它在触发器下没有列出任何内容,而且无论如何我也不想禁用它。
有没有办法将设备排除在自动删除之外或调整阈值?“默认丢失设备超时期限为 30 天”消息似乎暗示可以设置不同的值,但我找不到任何内容。基于这,我尝试使用它SetupDiSetDeviceProperty
来更改DEVPKEY_Device_LastRemovalDate
设备的属性,但由于访问被拒绝错误而失败(以管理员身份完成并且其他属性是可写的)。
操作系统是 Windows 10 版本 1909 (18393.1316)。
答案1
为什么不禁用或删除任务Microsoft\Windows\Plug and Play\Plug and Play Cleanup
?Taskscheduler
你
检查过任务的执行历史记录吗?
根据我的快速查询,30 天的MAXCLEAN
超时是硬编码的(参考:旧设备和驱动程序清理(一个命令) - Windows 10 论坛)
并且,该任务的存在取决于Windows版本(参考:1234n6:Windows 即插即用清理),而且并不是所有的Windows都有计划任务(我的W10 20H2上就没有),所以它不是那么必要,理论上可以禁用。