Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » VBS/WSH/JS - [решено] Найти количество подразделов в разделе.

Ответить
Настройки темы
VBS/WSH/JS - [решено] Найти количество подразделов в разделе.

Новый участник


Сообщения: 2
Благодарности: 0

Профиль | Отправить PM | Цитировать


[забыл подписать в заголовке "Работа с Реестром."]
Здравствуйте, возникла необходимость посчитать в заданном разделе количество подразделов. Ну и записать имена подразделов в массив например. Помогите пожалуйста ссылкой/советом/куском кода.

Отправлено: 15:17, 21-10-2009

 

Googler


Сообщения: 3665
Благодарности: 1563

Профиль | Отправить PM | Цитировать


Цитата zxch:
Помогите пожалуйста ссылкой/советом/куском кода. »
Код: Выделить весь код
Const HKCR = &H80000000
Const HKCU = &H80000001
Const HKLM = &H80000002
Const HKU  = &H80000003

Dim objReg, strPath, arrSubKeys

Set objReg = GetObject("winmgmts:{impersonationLevel=impersonate}!\\.\root\default:StdRegProv")
strPath = "Software"

objReg.EnumKey HKLM, strPath, arrSubKeys

' ----------------------------------------
' Вывод массива и его размерности на экран
' ----------------------------------------

If Not(IsArray(arrSubKeys)) Then WScript.Quit
strSubKeys = UBound(arrSubKeys) & vbCrLf & "---" & vbCrLf

For Each strSubKey In arrSubKeys
   strSubKeys = strSubKeys & strSubKey & vbCrLf
Next

WScript.Echo strSubKeys
Это сообщение посчитали полезным следующие участники:

Отправлено: 16:12, 21-10-2009 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Новый участник


Сообщения: 2
Благодарности: 0

Профиль | Отправить PM | Цитировать


amel27
Спасибо Вам, то что нужно!

Отправлено: 21:43, 21-10-2009 | #3


Новый участник


Сообщения: 8
Благодарности: 1

Профиль | Отправить PM | Цитировать


Цитата amel27:
If Not(IsArray(arrSubKeys)) Then WScript.Quit
Не мог бы кто нибудь сказать почему метод EnumKey бывает что возвращает не массив а NULL? тут столь элегантно обходится этот вопрос...
Например, пытаюсь прочитать подразделы ключа:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\WindowsUpdate

в результате при перечислении в цикле обращение к arrSubKeys бомбит ошибками типа "обьект не является семейством", "несоответствие типа" и пр... такое бывает на разных ключах, влияние разрешений на ветку не выявлено.

Отправлено: 16:36, 25-03-2011 | #4


Новый участник


Сообщения: 8
Благодарности: 1

Профиль | Отправить PM | Цитировать


Похоже что на системах Win7x64 скрипт читает этот раздел из ветки WOW6432Node, где WindowsUpdate соотв-но нету, отсюда нестыковки. Походу дело в этом... и как быть тогда?

Отправлено: 17:04, 25-03-2011 | #5



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » VBS/WSH/JS - [решено] Найти количество подразделов в разделе.

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Debian/Ubuntu - [решено] кириллические папки на нтфс разделе tref2me Общий по Linux 26 17-01-2009 18:05
Разное - [решено] Windows XP и количество запущеных программ Andrik Microsoft Windows 2000/XP 3 08-12-2008 01:51
Разное - [решено] В разделе "Учетные записи пользователей" все исчезло garty88 Microsoft Windows 2000/XP 3 16-11-2007 13:51
[решено] Количество CAL на несколько серверов Altaranenco Лицензирование продуктов Microsoft 5 07-09-2007 16:40




 
Переход