Архивирование драйверов системы из контекстного меню Этот компьютер [Решено]
Цитата: Gennady от 30.10.2020, 00:21Прошу опытных товарищей помочь в создании твика в КМ Этот компьютер для архивирования драйверов системы в указанную папку с помощью утилиты pnputil.exe. в "сыром" виде это выглядит так:
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CLSID\{20D04FE0-3AEA-1069-A2D8-08002B30309D}\shell\BackupDriver] @="»»» Архивирование Драйверов" "Icon"= "Position"="Bottom" [HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CLSID\{20D04FE0-3AEA-1069-A2D8-08002B30309D}\shell\BackupDriver\command] @="cmd /c "pnputil.exe /export-driver * D:\BackupDriver\BackupDriver_pnputil"Как правильно прописать утилиту в command?
Спасибо!
[MNotice]У нас принято здороваться, не забывайте об этом.[/MNotice]
Прошу опытных товарищей помочь в создании твика в КМ Этот компьютер для архивирования драйверов системы в указанную папку с помощью утилиты pnputil.exe. в "сыром" виде это выглядит так:
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CLSID\{20D04FE0-3AEA-1069-A2D8-08002B30309D}\shell\BackupDriver]
@="»»» Архивирование Драйверов"
"Icon"=
"Position"="Bottom"
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CLSID\{20D04FE0-3AEA-1069-A2D8-08002B30309D}\shell\BackupDriver\command]
@="cmd /c "pnputil.exe /export-driver * D:\BackupDriver\BackupDriver_pnputil"
Как правильно прописать утилиту в command?
Спасибо!
Комментарий модератора:
У нас принято здороваться, не забывайте об этом.
Цитата: Вася от 30.10.2020, 21:24Привет!
Добавил создание папки и задержку консоли, так как если папки нет,pnputilсам её не создаст и выдаст ошибку.
Если задержка консоли не нужна, уберите из конца команды& pause
Перед применением твика, надо в реестре предоставить разрешения для ключаHKEY_CLASSES_ROOT\CLSID\{20D04FE0-3AEA-1069-A2D8-08002B30309D}\shellWindows Registry Editor Version 5.00 [HKEY_CLASSES_ROOT\CLSID\{20D04FE0-3AEA-1069-A2D8-08002B30309D}\shell\BackupDriver] @=">>> Архивирование Драйверов" "Position"="Bottom" [HKEY_CLASSES_ROOT\CLSID\{20D04FE0-3AEA-1069-A2D8-08002B30309D}\shell\BackupDriver\command] @="cmd /c \"md D:\\BackupDriver\\BackupDriver_pnputil & pnputil.exe /export-driver * D:\\BackupDriver\\BackupDriver_pnputil & pause\""
Привет!
Добавил создание папки и задержку консоли, так как если папки нет, Скопированоpnputil сам её не создаст и выдаст ошибку.
Если задержка консоли не нужна, уберите из конца команды Скопировано& pause
Перед применением твика, надо в реестре предоставить разрешения для ключа СкопированоHKEY_CLASSES_ROOT\CLSID\{20D04FE0-3AEA-1069-A2D8-08002B30309D}\shell
Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOT\CLSID\{20D04FE0-3AEA-1069-A2D8-08002B30309D}\shell\BackupDriver]
@=">>> Архивирование Драйверов"
"Position"="Bottom"
[HKEY_CLASSES_ROOT\CLSID\{20D04FE0-3AEA-1069-A2D8-08002B30309D}\shell\BackupDriver\command]
@="cmd /c \"md D:\\BackupDriver\\BackupDriver_pnputil & pnputil.exe /export-driver * D:\\BackupDriver\\BackupDriver_pnputil & pause\""
Цитата: Gennady от 31.10.2020, 00:41Здравствуйте, Вася! Большое спасибо!
Здравствуйте, Вася! Большое спасибо!
Цитата: Gennady от 04.11.2020, 00:56Здравствуйте, форумчане.
Создал CMDшник для архивирования драйверов системы при помощи утилиты pnputil.exe в контекстном меню Этого Компьютера при нажатой Shift. Может кому пригодится. Очень удобно при переустановке Системы:
[spoiler]:: ================================================================================================
:: === Создание папки "D:\DriverBackup", создание в ней "desktop.ini" с указанием иконки папки ====
md D:\DriverBackup
SET Folder=D:\DriverBackup
IF EXIST "%Folder%\desktop.ini" ATTRIB -S -H "%Folder%\desktop.ini"(
ECHO.
ECHO [.ShellClassInfo]
ECHO InfoTip=Архив Файлов Системы
ECHO IconFile=%systemroot%\System32\imageres.dll
ECHO IconIndex=226
ECHO IconResource=%systemroot%\System32\imageres.dll,226
)>>"%Folder%\desktop.ini"ATTRIB +S +H "%Folder%\desktop.ini"
ATTRIB +R "%Folder%"
:: ------------------------- КМ Этот Компьютер -----------------------------
:: ------------ "Архивирование Драйверов с помощью системной утилиты "pnputil.exe" ------------
Reg Add "HKCR\CLSID\{20D04FE0-3AEA-1069-A2D8-08002B30309D}\shell\BackupDriver" /ve /t REG_SZ /d "ЂаеЁўЁа®ў ЁҐ „а ©ўҐа®ў" /f
Reg Add "HKCR\CLSID\{20D04FE0-3AEA-1069-A2D8-08002B30309D}\shell\BackupDriver" /v "Icon" /t REG_SZ /d "imageres.dll,226" /f
Reg Add "HKCR\CLSID\{20D04FE0-3AEA-1069-A2D8-08002B30309D}\shell\BackupDriver" /v "Position" /t REG_SZ /d "Bottom" /f
Reg Add "HKCR\CLSID\{20D04FE0-3AEA-1069-A2D8-08002B30309D}\shell\BackupDriver" /v "Extended" /t REG_SZ /d "" /f
Reg Add "HKCR\CLSID\{20D04FE0-3AEA-1069-A2D8-08002B30309D}\shell\BackupDriver\command" /ve /t REG_SZ /d "cmd /c \"pnputil.exe /export-driver * D:\DriverBackup\"" /f
:: ================================================================================================[/spoiler]
Внес его в SetupComplete.cmd. При установке на "живую" систему надо получить права на HKEY_CLASSES_ROOT\CLSID\{20D04FE0-3AEA-1069-A2D8-08002B30309D}\shell
[MNotice]Убирайте код в спойлер[/MNotice]
Здравствуйте, форумчане.
Создал CMDшник для архивирования драйверов системы при помощи утилиты pnputil.exe в контекстном меню Этого Компьютера при нажатой Shift. Может кому пригодится. Очень удобно при переустановке Системы:
:: === Создание папки "D:\DriverBackup", создание в ней "desktop.ini" с указанием иконки папки ====
md D:\DriverBackup
SET Folder=D:\DriverBackup
IF EXIST "%Folder%\desktop.ini" ATTRIB -S -H "%Folder%\desktop.ini"
(
ECHO.
ECHO [.ShellClassInfo]
ECHO InfoTip=Архив Файлов Системы
ECHO IconFile=%systemroot%\System32\imageres.dll
ECHO IconIndex=226
ECHO IconResource=%systemroot%\System32\imageres.dll,226
)>>"%Folder%\desktop.ini"
ATTRIB +S +H "%Folder%\desktop.ini"
ATTRIB +R "%Folder%"
:: ------------------------- КМ Этот Компьютер -----------------------------
:: ------------ "Архивирование Драйверов с помощью системной утилиты "pnputil.exe" ------------
Reg Add "HKCR\CLSID\{20D04FE0-3AEA-1069-A2D8-08002B30309D}\shell\BackupDriver" /ve /t REG_SZ /d "ЂаеЁўЁа®ў ЁҐ „а ©ўҐа®ў" /f
Reg Add "HKCR\CLSID\{20D04FE0-3AEA-1069-A2D8-08002B30309D}\shell\BackupDriver" /v "Icon" /t REG_SZ /d "imageres.dll,226" /f
Reg Add "HKCR\CLSID\{20D04FE0-3AEA-1069-A2D8-08002B30309D}\shell\BackupDriver" /v "Position" /t REG_SZ /d "Bottom" /f
Reg Add "HKCR\CLSID\{20D04FE0-3AEA-1069-A2D8-08002B30309D}\shell\BackupDriver" /v "Extended" /t REG_SZ /d "" /f
Reg Add "HKCR\CLSID\{20D04FE0-3AEA-1069-A2D8-08002B30309D}\shell\BackupDriver\command" /ve /t REG_SZ /d "cmd /c \"pnputil.exe /export-driver * D:\DriverBackup\"" /f
:: ================================================================================================
Внес его в SetupComplete.cmd. При установке на "живую" систему надо получить права на HKEY_CLASSES_ROOT\CLSID\{20D04FE0-3AEA-1069-A2D8-08002B30309D}\shell
Комментарий модератора:
Убирайте код в спойлер
Цитата: Gennady от 04.11.2020, 12:56Здравствуйте! Прошу прощения, в предыдущем сообщении вместо ECHO InfoTip=Архив Файлов Системы должно быть ECHO InfoTip=Архив Драйверов Системы
Спасибо.
Здравствуйте! Прошу прощения, в предыдущем сообщении вместо ECHO InfoTip=Архив Файлов Системы должно быть ECHO InfoTip=Архив Драйверов Системы
Спасибо.
Цитата: Gennady от 05.11.2020, 16:23Здравствуйте, уважаемые форумчане. Здравствуйте, Вася.
Вася, Вы мне здорово помогли разобраться с командой в секции "command"
Хочу сделать вложенное контекстное меню с утилитами (pnputil, DISM, PowerSell) и, соответственно, команды:
(pnputil.exe /export-driver * D:\BackupDriver_pnputil; dism /online /export-driver /destination:D:\BackupDriverDISM; Export-WindowsDriver -Online -Destination D:\BackupDriverPowerShell). Все эти команды великолепно отрабатывают через "командное окно как администратор" и "PowerShell как администратор" и драйверы сохраняются в указанные, заранее созданные, папки. Конечно на этом можно считать проблему исчерпанной, но есть желание реализовать идею посредством контекстного меню. Полученный опыт очень поможет в воплощении идей с контекстным меню.
Если Вас не затруднит, окажите мне помощь в записи 2-х последних команд в секции "command".
Спасибо.
Здравствуйте, уважаемые форумчане. Здравствуйте, Вася.
Вася, Вы мне здорово помогли разобраться с командой в секции "command"
Хочу сделать вложенное контекстное меню с утилитами (pnputil, DISM, PowerSell) и, соответственно, команды:
(pnputil.exe /export-driver * D:\BackupDriver_pnputil; dism /online /export-driver /destination:D:\BackupDriverDISM; Export-WindowsDriver -Online -Destination D:\BackupDriverPowerShell). Все эти команды великолепно отрабатывают через "командное окно как администратор" и "PowerShell как администратор" и драйверы сохраняются в указанные, заранее созданные, папки. Конечно на этом можно считать проблему исчерпанной, но есть желание реализовать идею посредством контекстного меню. Полученный опыт очень поможет в воплощении идей с контекстным меню.
Если Вас не затруднит, окажите мне помощь в записи 2-х последних команд в секции "command".
Спасибо.
Цитата: Вася от 05.11.2020, 22:11Привет еще раз!
Для того, чтобы работали командыDISMиPowerShell, надо чтобы был полностью отключён контроль учётных записей (через твикер).
Если у Вас применён прошлый твик, то в реестре, по путиHKEY_CLASSES_ROOT\CLSID\{20D04FE0-3AEA-1069-A2D8-08002B30309D}\shell\BackupDriver
надо удалить (через ПКМ) параметрПо умолчанию(напротив него должно писатьзначение не присвоено), иначе вложенные пункты меню не будут отображаться.Файл реестра:
[spoiler]Windows Registry Editor Version 5.00 [HKEY_CLASSES_ROOT\CLSID\{20D04FE0-3AEA-1069-A2D8-08002B30309D}\shell\BackupDriver] "Extended"="" "Icon"="imageres.dll,226" "MUIVerb"=">>> Архивирование Драйверов" "SubCommands"="PNPUTILBackup;DISMBackup;PowerShellBackup" "Position"="Bottom" ; DISM [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\CommandStore\shell\DISMBackup] @="С помощью DISM" "Icon"="imageres.dll,262" [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\CommandStore\shell\DISMBackup\command] @="dism /online /export-driver /destination:D:\\BackupDriverDISM" ; PNPUTIL [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\CommandStore\shell\PNPUTILBackup] @="С помощью PNPUTIL" "Icon"="imageres.dll,262" [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\CommandStore\shell\PNPUTILBackup\command] @="pnputil.exe /export-driver * D:\\BackupDriver_pnputil" ; PowerShell [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\CommandStore\shell\PowerShellBackup] @="С помощью PowerShell" "Icon"="imageres.dll,311" [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\CommandStore\shell\PowerShellBackup\command] @="powershell /c Export-WindowsDriver -Online -Destination D:\\BackupDriverPowerShell"[/spoiler]
Вот что получилось.
Привет еще раз!
Для того, чтобы работали команды СкопированоDISM и СкопированоPowerShell, надо чтобы был полностью отключён контроль учётных записей (через твикер).
Если у Вас применён прошлый твик, то в реестре, по пути СкопированоHKEY_CLASSES_ROOT\CLSID\{20D04FE0-3AEA-1069-A2D8-08002B30309D}\shell\BackupDriver
надо удалить (через ПКМ) параметр СкопированоПо умолчанию (напротив него должно писать Скопированозначение не присвоено), иначе вложенные пункты меню не будут отображаться.
Файл реестра:
Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOT\CLSID\{20D04FE0-3AEA-1069-A2D8-08002B30309D}\shell\BackupDriver]
"Extended"=""
"Icon"="imageres.dll,226"
"MUIVerb"=">>> Архивирование Драйверов"
"SubCommands"="PNPUTILBackup;DISMBackup;PowerShellBackup"
"Position"="Bottom"
; DISM
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\CommandStore\shell\DISMBackup]
@="С помощью DISM"
"Icon"="imageres.dll,262"
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\CommandStore\shell\DISMBackup\command]
@="dism /online /export-driver /destination:D:\\BackupDriverDISM"
; PNPUTIL
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\CommandStore\shell\PNPUTILBackup]
@="С помощью PNPUTIL"
"Icon"="imageres.dll,262"
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\CommandStore\shell\PNPUTILBackup\command]
@="pnputil.exe /export-driver * D:\\BackupDriver_pnputil"
; PowerShell
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\CommandStore\shell\PowerShellBackup]
@="С помощью PowerShell"
"Icon"="imageres.dll,311"
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\CommandStore\shell\PowerShellBackup\command]
@="powershell /c Export-WindowsDriver -Online -Destination D:\\BackupDriverPowerShell"
Вот что получилось.
Цитата: Gennady от 06.11.2020, 10:04Вася, спасибо!
Вася, спасибо!
Цитата: timser от 06.11.2020, 13:11Цитата: Gennady от 04.11.2020, 00:56При установке на "живую" систему надо получить права на HKEY_CLASSES_ROOT\CLSID\{20D04FE0-3AEA-1069-A2D8-08002B30309D}\shell
Добрый день всем!
Чтобы не выставлять права на ветку реестра:
HKEY_CLASSES_ROOT\CLSID\{20D04FE0-3AEA-1069-A2D8-08002B30309D}\shell
можно по типу, как у Хачатура в подобных твиках, использовать вместо этой другую ветку реестра на уровне пользователя:
HKEY_CURRENT_USER\Software\Classes\CLSID\{20D04FE0-3AEA-1069-A2D8-08002B30309D}\shell
Цитата: Gennady от 04.11.2020, 00:56При установке на "живую" систему надо получить права на HKEY_CLASSES_ROOT\CLSID\{20D04FE0-3AEA-1069-A2D8-08002B30309D}\shell
Добрый день всем!
Чтобы не выставлять права на ветку реестра:
СкопированоHKEY_CLASSES_ROOT\CLSID\{20D04FE0-3AEA-1069-A2D8-08002B30309D}\shell
можно по типу, как у Хачатура в подобных твиках, использовать вместо этой другую ветку реестра на уровне пользователя:
СкопированоHKEY_CURRENT_USER\Software\Classes\CLSID\{20D04FE0-3AEA-1069-A2D8-08002B30309D}\shell
Цитата: Gennady от 06.11.2020, 22:02timser, приветствую Вас. Если я правильно понял, ветку HKEY_CURRENT_USER\Software\Classes\CLSID\{20D04FE0-3AEA-1069-A2D8-08002B30309D}\shell надо создать, т.к. в "живом" виде только HKEY_CURRENT_USER\Software\Classes\CLSID. Где можно глянуть подробности?
timser, приветствую Вас. Если я правильно понял, ветку HKEY_CURRENT_USER\Software\Classes\CLSID\{20D04FE0-3AEA-1069-A2D8-08002B30309D}\shell надо создать, т.к. в "живом" виде только HKEY_CURRENT_USER\Software\Classes\CLSID. Где можно глянуть подробности?
Цитата: timser от 07.11.2020, 09:01Gennady, при выполнении этого изменённого твика, данная ветка в реестре сама создаётся совместно со всеми там данными.
Gennady, при выполнении этого изменённого твика, данная ветка в реестре сама создаётся совместно со всеми там данными.
Цитата: Gennady от 07.11.2020, 10:35timser, да, спасибо. Я понял. Очень удобное "рац. предложение". Контекстные меню - это своеобразное хобби и постоянно приходится получать права на ту или иную ветвь (RegOwnershipEx 1.0.0.2 очень удобно, но суетно). Вашу подсказку внедрил, прошло как по маслу, беру на вооружение.
timser, да, спасибо. Я понял. Очень удобное "рац. предложение". Контекстные меню - это своеобразное хобби и постоянно приходится получать права на ту или иную ветвь (RegOwnershipEx 1.0.0.2 очень удобно, но суетно). Вашу подсказку внедрил, прошло как по маслу, беру на вооружение.
Цитата: Gennady от 25.11.2020, 12:34Здравствуйте, уважаемые форумчане.
Кратко о проблеме: можно ли через контекстное меню оперативно изменять значение какого-либо параметра в реестре (например, с 1 на 0 и наоборот).
Конкретно. В ветке[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced]
"Hidden"=dword:00000001 ;Показывать скрытые файлы, папки и диски
"ShowSuperHidden"=dword:00000000 ;Скрывать системные защищенные файлы (рекомендуется) 0, Показать 1менять значение параметра "ShowSuperHidden", при этом не затрагивая параметр "Hidden"? Вопрос перезагрузки проводника решен.
Спасибо за внимание.
Здравствуйте, уважаемые форумчане.
Кратко о проблеме: можно ли через контекстное меню оперативно изменять значение какого-либо параметра в реестре (например, с 1 на 0 и наоборот).
Конкретно. В ветке
[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced]
"Hidden"=dword:00000001 ;Показывать скрытые файлы, папки и диски
"ShowSuperHidden"=dword:00000000 ;Скрывать системные защищенные файлы (рекомендуется) 0, Показать 1
менять значение параметра "ShowSuperHidden", при этом не затрагивая параметр "Hidden"? Вопрос перезагрузки проводника решен.
Спасибо за внимание.
Цитата: Gennady от 25.11.2020, 13:07В дополнение к сказанному выше.
Как правильно прописать в [\command] последовательный запуск *.cmd и за ним *.exe?
Спасибо.
В дополнение к сказанному выше.
Как правильно прописать в [\command] последовательный запуск *.cmd и за ним *.exe?
Спасибо.