Начну с самого злободневного: утилит для работы с драйверами по той причине, что сам сегодня занялся сравнением драйверов в инсайдерской 14393.10 и аналогичной продакшн системе, полученной обновлением 10586.494. 1. Изменения в утилите PnPUtil.exe, приведу логи хелп, четко показывающие эти изменения
C:\windows\system32>pnputil /? Microsoft PnP Utility Usage: ------ pnputil.exe [-f | -i] [ -? | -a | -d | -e ] <INF name> Examples: pnputil.exe -a a:\usbcam\USBCAM.INF -> Add package specified by USBCAM.INF pnputil.exe -a c:\drivers\*.inf -> Add all packages in c:\drivers\
Лог под нижним спойлером показывает не только изменения в операндах команды, но и появление удобной функции экспорта всех или части OEM-драйверов.
C:\WINDOWS\system32>pnputil /? Microsoft PnP Utility
Add driver package(s) into the driver store. /subdirs - traverse sub directories for driver packages. /install - install/update drivers on any matching devices.
/delete-driver <oem#.inf> [/force]
Delete driver package from the driver store. /force - delete driver package even when it is in use by devices.
/export-driver <oem#.inf | *> <target directory>
Export driver package(s) from the driver store into a target directory.
/enum-drivers
Enumerate all 3rd party driver packages in the driver store.
Driver : oem0.inf OriginalFileName : C:\Windows\System32\DriverStore\FileRepository\prnms009.inf_amd64_d1adab4793e684de\prnms00 9.inf Inbox : False ClassName : Printer BootCritical : False ProviderName : Microsoft Date : 21-Jun-06 00:00:00 Version : 10.0.10586.0
Driver : oem1.inf OriginalFileName : C:\Windows\System32\DriverStore\FileRepository\prnms001.inf_amd64_00ae84f680cb1433\prnms00 1.inf Inbox : False ClassName : Printer BootCritical : False ProviderName : Microsoft Date : 21-Jun-06 00:00:00 Version : 10.0.10586.0 .................................
Любители PS1 знают, что с помощью командлетов можно выполнять все функции, поддерживыемые обновленной утилитой pnputil и наверняка догадываются о том, что весь этот функционал основан на использовании тех же самых DLL, которые использует DISM. Поэтому, естественно DISM /online также обеспечивает все те же функции, что и pnputil и дополнительно позволяет добавлять, удалять, перечислять драйверы не только а активной системе, но и в смонтированном имидже. Для чего это нужно Я начал с того, что экспортировал все OEM-драйвера из двух 14393.10, но одна из них инсайдерская, пережившая 40 обновлений билдами, а вторая лишь вчера была обновлена из 10586.494. Сравнение директорий экспорта показало, что в инсайдерской системе присутствует штук 6 драйверов, которые можно безболезненно удалить. А в продакшн системе таковых оказалось штуки 3. Притом что в инсайдеркой появился к примеру драйвер USB-клавиатуры, которую наверняка непонятно зачем воткнули в мой ноутбук в ремонтной мастерской, поскольку я сам никогда USB-клавиатуру к своему ноутбуку не подключал. ОК, после того, как стали известны имена ненужных драйверов, то их удаление я легко сделал с помощью pnputil:
C:\WINDOWS\system32>pnputil /delete-driver oem6.inf Microsoft PnP Utility
Failed to delete driver package: One or more devices are presently installed using the specified INF.
C:\WINDOWS\system32>pnputil /delete-driver oem4.inf Microsoft PnP Utility
Driver package deleted successfully.
C:\WINDOWS\system32>pnputil /delete-driver oem6.inf /force Microsoft PnP Utility
Driver package deleted successfully.
C:\WINDOWS\system32>pnputil /delete-driver oem0.inf Microsoft PnP Utility
Driver package deleted successfully.
C:\WINDOWS\system32>pnputil /delete-driver oem5.inf Microsoft PnP Utility
Driver package deleted successfully.
C:\WINDOWS\system32>pnputil /delete-driver oem14.inf Microsoft PnP Utility
Driver package deleted successfully.
C:\WINDOWS\system32>pnputil /delete-driver oem21.inf Microsoft PnP Utility
Driver package deleted successfully.
C:\WINDOWS\system32>
Обратите внимание, что при удалении драйвера чужой USB-клавиатуры возникла ошибка и пришлось затем использовать операнд /force для принудительного удаления этого драйвера. На этом первая часть темы завершена, но далее я расскажу об изменениях в других утилитах.
Список EXE-файлов из Windows\System32 14393.10, отсутствующих в 10586.494
Далеко не все элементы из этого списка являются утилитами. Но вот к примеру новая утилита для выполнения скриптов:
C:\WINDOWS\system32>scriptrunner /? Usage: ScriptRunner.exe -appvscript scriptFileName [Arguments] [-appvscriptrunnerparameters [-wait] [-timeout=<TimeInSeconds>] [-rollbackonerror]] -appvscript scriptFileName [Arguments] [-appvscriptrunnerparameters [-wait] [-timeout=<TimeInSeconds>] [-rollbackonerror]] ... Default values for -appvscriptrunnerparameters: No wait, No timeout, No rollback on error Every parameter must be separated by a unicode space character (U+0020) Example: ScriptRunner.exe -appvscript foo.cmd arg1 arg2 -appvscriptrunnerparameters -wait -timeout=30 -rollbackonerror -appvscript foobar.exe arg1 arg2
C:\WINDOWS\system32>
Новая диагностическая утилита для устройств памяти ( дисков, флэш, SD-карт,... ) Позволяет получать различные отчеты об использовании устройств.
Options /log Specifies the path to the log file. /elapsed Display the time taken to execute. /drives Report drive usage. /all /a Report usage on files (defaults to folders). /b Report friendly sizes. /depth /d Report on folders to the specified depth (defaults to all). /summary /s Summarize (equivalent to /depth 0). /xml Output to XML (defaults to the console). /anonymize Anonymize the paths and filenames in the output. /snap /sn Create a snapshot file for later comparison. /prevsnap /psn Compare against a previous snapshot file.
Pre-defined Studies {changes} Report on changes since last snapshot (used with prevsnap). {largest} Report on largest (used with top and all). {growth} Report on top growing (used with top and all). {wellknown} Report on a well-known set of folders and files. {apps} Report on app sizes. {temp} Report on temp and log sizes.
В связи с введением в действие Постановления Правительства Российской Федерации от 14.11.2023 № 1905 т.н. "о запрете популяризации VPN" с 1 марта 2024 года - любое обсуждение способов обхода блокировок и VPN на портале запрещено!