|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - Удаление значения реестра по типу |
|
|
CMD/BAT - Удаление значения реестра по типу
|
Новый участник Сообщения: 3 |
Профиль | Отправить PM | Цитировать
Всем привет
Есть путь: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters В нем есть много параметров, внесенных вручную(см. скриншот - синие), нужно с помощью батника определить по этому пути все регедиты и удалить их если в них выставлен тип REG_DWORD У самого не хватает опыта и понимания CMD скриптинга на такое. Заранее огромное спасибо! |
|
Отправлено: 15:52, 07-04-2018 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать Цитата Darkysha:
|
|
Отправлено: 16:02, 07-04-2018 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Новый участник Сообщения: 3
|
Профиль | Отправить PM | Цитировать Iska, регедит=параметр реестра, так принято называть, он же рег, оно же "параметр".
|
Отправлено: 18:24, 07-04-2018 | #3 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать Цитата Darkysha:
Пакетные файлы — не лучший способ, удобнее и проще использовать WSH/PoSH. Определить можно так: WSH
Option Explicit Const HKEY_LOCAL_MACHINE = &H80000002 Const REG_DWORD = 4 Dim strKeyPath Dim arrValueNames, arrValueTypes Dim i Dim lngValue strKeyPath = "SYSTEM\CurrentControlSet\Services\Tcpip\Parameters" With WScript.CreateObject("WbemScripting.SWbemLocator").ConnectServer(".", "root\default").Get("StdRegProv") If .EnumValues(HKEY_LOCAL_MACHINE, strKeyPath, arrValueNames, arrValueTypes) = 0 Then For i = LBound(arrValueNames) To UBound(arrValueNames) If arrValueTypes(i) = REG_DWORD Then If .GetDWORDValue(HKEY_LOCAL_MACHINE, strKeyPath, arrValueNames(i), lngValue) = 0 Then WScript.Echo "0x" & Right(String(8, "0") & Hex(lngValue), 8), arrValueNames(i) Else WScript.Echo "An error occured when reading value of [HKEY_LOCAL_MACHINE\" & strKeyPath & "\" & arrValueNames(i) & "]." End If End If Next Else WScript.Echo "An error occured when reading [HKEY_LOCAL_MACHINE\" & strKeyPath & "]." WScript.Quit 1 End If End With WScript.Quit 0 PowerShell
По поводу же «всё синее есть внесённое вручную и потому подлежит удалению» — ну, не знаю, не знаю. Сделать-то можно, но нужно ли?! |
|
Отправлено: 19:50, 07-04-2018 | #4 |
Забанен Сообщения: 795
|
RTFM!
Reg-файлы могут как добавлять , так и удалять значения и ключи в реестре Виндовс. Для удаления надобно всего-то добавить знак "-" (минус) после "=" Перечисли нужные тебе имена параметров в точно такомже REG-файле, только заместо парамтров повтыкай - и точно также вноси\удаляй нужные тебе значения\разделы. Никаких доп. скриптов не нужно. |
|
Отправлено: 20:12, 07-04-2018 | #5 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать Цитата x0r:
|
|
Отправлено: 20:32, 07-04-2018 | #6 |
Ветеран Сообщения: 5380
|
Профиль | Отправить PM | Цитировать |
------- Отправлено: 20:46, 07-04-2018 | #7 |
Забанен Сообщения: 795
|
Iska, ну ты предложил динамит. Шарахнем всех! Что в общем то, явл. точным ответом на вопрос TS. Да.
Я предложил точечные поражения, конкретных целей. Точно известных, явных, с минимальным отклонением. Пущай выбираит |
Отправлено: 00:48, 08-04-2018 | #8 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать Цитата x0r:
|
|
Отправлено: 07:05, 08-04-2018 | #9 |
fascinating rhythm Сообщения: 6494
|
Профиль | Отправить PM | Цитировать Определить-то несложно:
Только выдаваемый результат - не объекты, и с ними ничего не сделаешь. В Пауэршелле Get-ItemProperty выдаёт кое-что, но типа ключей от него добиться невозможно. В интернете есть разные костыли, реализующие функционал определения типа ключей, но как передать данные для команды удаления - лично я так и не понял. |
------- Отправлено: 20:16, 08-04-2018 | #10 |
|
Участник сейчас на форуме | Участник вне форума | Автор темы | Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
CMD/BAT - Изменение значения ключа реестра по правилу. | heretique | Скриптовые языки администрирования Windows | 9 | 29-03-2013 10:00 | |
CMD/BAT - [решено] Удаление значения параме реестра | KPOTOC | Скриптовые языки администрирования Windows | 6 | 07-02-2012 21:07 | |
VBS/WSH/JS - удаление разделов реестра по маске (?) | foxbat | Скриптовые языки администрирования Windows | 10 | 03-02-2012 08:40 | |
CMD/BAT - [решено] .bat: удаление значения реестра после отбора | Lightman123 | Скриптовые языки администрирования Windows | 25 | 17-08-2011 13:54 | |
CMD/BAT - [решено] Удаление файлов по заданному типу | -Marshall- | Скриптовые языки администрирования Windows | 5 | 21-12-2010 00:22 |
|