Войти

Показать полную графическую версию : [решено] Работа с Разрешеними в реестре через VBS


Страниц : [1] 2

O L E G
12-03-2012, 14:27
Мне нужно Добавить Админа в разрешение безопасности полный доступ для ветки, пример HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer
через скрипт VBS

O L E G
12-03-2012, 14:28
Так чта бы скрипт ставил полный доступ,если там стоит только чтение и добавлял админа на полный доступ если его нет в разрешениях

Iska
12-03-2012, 14:50
Для начала — озвучьте, под какой ОС будет.

O L E G
12-03-2012, 17:44
X P

Kazun
12-03-2012, 17:56
В Windows XP такого функционала нет,появился начиная с Vista и выше.Так что можно воспользоваться утилитой setacl - http://helgeklein.com/

Iska
12-03-2012, 18:57
CMD/BAT - [решено] Как настроить разрешения в реестре через BAT под NTFS? (http://forum.oszone.net/showthread.php?t=217698)
VBS/WSH/JS - [решено] Разрешения для реестра и файла (http://forum.oszone.net/showthread.php?t=228528)

Первая из них — Ваша. Ежели б Вы прочитали приведённую там ссылку по SetACL, то увидели бы, что с ней можно работать не только из командной строки, но и посредством Automation: COM Version (SetACL.ocx) – Syntax and Description | Helge Klein | Home of SetACL (http://helgeklein.com/setacl/documentation/com-version-setacl-ocx/).

P.S. Вообще-то, под Windows XP, по умолчанию у Администратора есть опосредованные (через группу) права на раздел «HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer» — наследуются от раздела «HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies». Вы с последствиями воздействия вируса хотите бороться?

O L E G
13-03-2012, 11:48
Ну да Хотелось бы написать скрипты восстанавливающие ветки реестра

Iska
13-03-2012, 12:15
Не пробовали в данном случае воспользоваться имеющейся функциональностью AVZ — Восстановление системы (http://www.z-oleg.com/secur/avz_doc/system_restore.htm):
6.Удаление всех Policies (ограничений) текущего пользователя

Windows предусматривает механизм ограничений действий пользователя, называемый Policies. Этой технологией пользуются многие вредоносные программы, поскольку настройки хранятся в реестре и их несложно создавать или модифицировать.

Показания к применению: Заблокированы функции проводника или иные функции системы.
? Как поведёт себя в данном случае AVZ?

O L E G
13-03-2012, 12:33
на CMD я могу сделать через - subinacl.exe
subinacl /subkeyreg HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\USBSTOR /grant=Администратор=F
subinacl /subkeyreg HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet001\Enum\USBSTOR /grant=Администратор=F
subinacl /subkeyreg HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet002\Enum\USBSTOR /grant=Администратор=F

-------------------
Но как мне это реализовать на VBS ? через subinacl.exe

Что я хочу сделать!
1.скрипт VBS при возможности перегоню его в exe, его функция при запуске добавить Админа на все права к определенным веткам, что бы возможно было их править
2.почему vbs а не cmd bat.часто командная строка заблокирована (умел бы писать написал бы сам что нибудь)
3.скрипт несет с собой файл inf.который считывается автоматически и заносит свои изменения.почему считывание идет автоматически,потому что бывает заблокировано контекстное меню.
4.Скрипт делает все сам и правит ветки реестра не вовлекая в это пользователя.
5.Полное или частичное восстановление данных реестра, полная разблокировка таких программ как WinLock,многие забывает пароль от нее или пользуются там где она стоит,что приводит к проблемам,ну и восстановление от WinLokerow и вирусов.
Как идея?

O L E G
13-03-2012, 12:49
Давно Хотел сделать программу которая следит только за ветвями реестра на наличие записи в них и выдавала бы Сообщение разрешить записать или отмена записи,что бы висела в задачах,но Т К я не Программист это все завалилось

А почему скрипт взял с правами тк некоторые вирусы и программы меняют доступ к веткам реестра и что не даст скрипты изменить данные... Осталось только это...Все остальное осуществил

Iska
13-03-2012, 13:27
Но как мне это реализовать на VBS ? »
COM Version (SetACL.ocx) – Syntax and Description | Helge Klein | Home of SetACL (http://helgeklein.com/setacl/documentation/com-version-setacl-ocx/) — загрузить, установить, зарегистрировать библиотеку и пользоваться. Либо использовать те же «SetACL.exe»/«subinacl.exe», вызывая их из-под WSH и передавая им потребные параметры.

Я всегда говорю в подобных случаях — «Используйте AVZ и его скрипты».

O L E G
13-03-2012, 13:52
Пропиши если не проблема скрипт запуска subinacl.exe и установку прав доступа через него же

Iska
13-03-2012, 14:58
Написать-то я — напишу… А вот Вы чем тогда будете заниматься ;)?!

O L E G
13-03-2012, 15:59
ну а я дальше все сам сделаю мне только это осталось :D кто на что горазд :yes: я программирование не знаю)) поэтому прошу помощи сторонних людей ВЫ поможете мне,а возможно то что сделаю я,поможет кому то другому



КРУГОВОРОТ

Iska
13-03-2012, 19:50
И какое отношение сие имеет к данной теме?

O L E G
19-03-2012, 15:02
Подскажите в чем ошибка?! не работает скрипт

Option Explicit

Dim wsh
Set wsh = WScript.CreateObject("WScript.Shell")

wsh.Run("""subinacl"" /keyreg HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon /revoke=%username%")

Set wsh = Nothing



-------
не передаются параметры

Iska
19-03-2012, 20:54
O L E G, не пренебрегайте оформлением приводимого кода тэгом code (http://forum.oszone.net/misc.php?do=bbcode#code).

не передаются параметры »
Передаются. Это Вы забыли обрамить параметр с пробелами кавычками.
wsh.Run("""subinacl"" /keyreg ""HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon"" /revoke=%username%")

И, достаточно ли будет именно «/keyreg»?!

O L E G
20-03-2012, 09:27
на некоторые ветки /keyreg, ну а если что , есть и /subkeyreg, дальше по обстоятельствам. Спасибо)

O L E G
20-03-2012, 10:41
Iska, Извини пожалуйста не по теме, потом удалю
Как сделать что бы меню программы не закрывалось, после выбора действия

Dim WshShell
set WshShell = WScript.CreateObject("WScript.Shell")

UserName = InputBox("Выбор действий" & Chr(10) & Chr(13) _
& " 1. Снять аттрибуты" & Chr(10) & Chr(13) _
& " 2. ---" & Chr(10) & Chr(13) _
& " 3. ---" & Chr(10) & Chr(13) _
& " 4. ---" & Chr(10) & Chr(13) _
& " 5. ---" & Chr(10) & Chr(13) _
& " 6. ---" & Chr(10) & Chr(13) _
& " 7. ---" & Chr(10) & Chr(13) _
& " 8. ---" & Chr(10) & Chr(13) _
& " 9. ---" & Chr(10) & Chr(13) _
& " 10. ---" & Chr(10) & Chr(13) _
)
Select Case UserName
Case 1
WshShell.Run("""subinacl"" /keyreg ""HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon"" /revoke=%username%")
Case 2
WshShell.Run "---"
Case 3
WshShell.Run "---"
case 4
WshShell.Run "---"
End Select

Iska
20-03-2012, 11:45
Do
UserName = InputBox(…

& " 11. Exit")

Loop Until UserName = 11

Или:
Do
UserName = InputBox(…

& " 11. Exit")

Select Case UserName

Case 11
Exit Do
End Select
Loop




© OSzone.net 2001-2012