Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Программирование "удобняшек" на VBScript

Модерирует : ShIvADeSt

ShIvADeSt (12-07-2011 15:12): http://forum.ru-board.com/topic.cgi?forum=33&topic=11963#1  Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112

   

DreamDok

Newbie
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Всё работает.Спасибо ещё раз

Всего записей: 24 | Зарегистр. 14-11-2010 | Отправлено: 08:40 09-03-2011
ComradG



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Free_Soft
скажу честно, запарился я с реализацией твоего вопроса на vbs'ках (причина - массивы). но зато переписал код на PoSh'е. прощу прощения, что не смог таки помочь, однако это не значит, что я целиком отказался от данной затеи.

Всего записей: 2038 | Зарегистр. 05-07-2008 | Отправлено: 22:58 11-03-2011
Rush

Уже за тридцать...
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
ComradG
Free_Soft
Это не то, что вы хотите?
http://forum.script-coding.com/viewtopic.php?id=522
http://forum.script-coding.com/viewtopic.php?id=5197

Всего записей: 3551 | Зарегистр. 20-11-2003 | Отправлено: 02:44 12-03-2011
Free_Soft



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
ComradG
ключ офиса у меня не показывает....
Rush
Да, пасиб, то, что нужно. Один только вопрос: можно ли здесь добавить проверку на существование параметра DigitalProductID в проверке Office? Просто проблема с адресом возникает на х64 машине с х86 офисом. В этом случае параметр этот живет уже здесь:

Код:
HKLM\SOFTWARE\Wow6432Node\Microsoft\Office\14.0\Registration\{90140000-003B-0000-0000-0000000FF1CE}\DigitalProductID

можно в скрипте как-то сделать перенаправление?
 
Добавлено:
и еще проблема: у меня какой бы ключ продукта не был установлен в Office 2010, скрипты показывают ключ
Код:
H73KX-D4H97-4MKTF-WH9HH-R84XH

откуда он берется, вообще не понятно. может у 2010 офиса надо читать с какого-нибудь другого параметра? Есть возможность у кого-нибудь проверить?

----------
На вашей перфокартѣ обнаруженъ вирусъ, механизмъ будетъ остановленъ.

Всего записей: 1536 | Зарегистр. 19-04-2010 | Отправлено: 08:35 12-03-2011 | Исправлено: Free_Soft, 09:13 12-03-2011
Rush

Уже за тридцать...
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Free_Soft

Цитата:
можно в скрипте как-то сделать перенаправление?

Попробуй заменить строку

Код:
DigitalProductIdOffice = MicroSoft & "\Office\" & word.Version & "\Registration\" & _
    word.ProductCode & "\DigitalProductId"

на  

Код:
If IsError(WshShell.RegRead("HKLM\SOFTWARE\Wow6432Node\"))Then  
  DigitalProductIdOffice = MicroSoft & "\Office\" & word.Version & "\Registration\" & _
                           word.ProductCode & "\DigitalProductId"
  Err.Clear
Else
  DigitalProductIdOffice = "HKLM\SOFTWARE\Wow6432Node\Microsoft\Office\" & word.Version & _
                           "\Registration\" & word.ProductCode & "\DigitalProductId"
End If

Я у себя никогда ничего новее ХР не ставил, так что как там организовано - не знаю.

Всего записей: 3551 | Зарегистр. 20-11-2003 | Отправлено: 10:53 12-03-2011
Free_Soft



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Rush
немного уточнил:

Код:
If IsError (WshShell.RegRead("HKLM\SOFTWARE\Wow6432Node\Microsoft\Office\14.0\Registration\" & _
                           word.ProductCode & "\DigitalProductId")) Then  
  DigitalProductIdOffice = "HKLM\SOFTWARE\Wow6432Node\Microsoft\Office\14.0\Registration\" & _
                           word.ProductCode & "\DigitalProductId"
  Err.Clear
Else
  DigitalProductIdOffice = "HKLM\SOFTWARE\Microsoft\Office\14.0\Registration\" & _
                           word.ProductCode & "\DigitalProductId"
End If

т.к. нужно проверить не только наличие Wow6432Node но и наличие самого параметра DigitalProductId, ибо про "живом" Wow6432Node DigitalProductId может находиться и в HKLM\SOFTWARE\Microsoft\Office... (если Win x64 и Office x64)
однако, почему-то теперь не срабатывает, если все находится по "нормальному" пути
Код:
HKLM\SOFTWARE\Microsoft\Office...
(если нет Wow6432Node)
Что я испортил?

----------
На вашей перфокартѣ обнаруженъ вирусъ, механизмъ будетъ остановленъ.

Всего записей: 1536 | Зарегистр. 19-04-2010 | Отправлено: 11:14 12-03-2011 | Исправлено: Free_Soft, 11:28 12-03-2011
Rush

Уже за тридцать...
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Free_Soft
А зачем переменную DigitalProductIdOffice местами поменял?

Всего записей: 3551 | Зарегистр. 20-11-2003 | Отправлено: 11:28 12-03-2011 | Исправлено: Rush, 11:28 12-03-2011
Free_Soft



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Rush
ну а как? если есть Wow6432Node ищем ней, else ищем в "нормальном" пути...

----------
На вашей перфокартѣ обнаруженъ вирусъ, механизмъ будетъ остановленъ.

Всего записей: 1536 | Зарегистр. 19-04-2010 | Отправлено: 11:29 12-03-2011
Rush

Уже за тридцать...
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Free_Soft

Цитата:
ну а как? если есть Wow6432Node ищем ней, else ищем в "нормальном" пути...

Там стоит IsError - это значит, что если такого ключа нет - берем после Then, если есть - Else.

Всего записей: 3551 | Зарегистр. 20-11-2003 | Отправлено: 11:33 12-03-2011 | Исправлено: Rush, 11:34 12-03-2011
Free_Soft



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Rush
поменял. теперь, если нет Wow6432Node, все ок (например, на Win XP), а если есть - пустое значение

----------
На вашей перфокартѣ обнаруженъ вирусъ, механизмъ будетъ остановленъ.

Всего записей: 1536 | Зарегистр. 19-04-2010 | Отправлено: 11:36 12-03-2011
Rush

Уже за тридцать...
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Free_Soft
А по тому пути точно есть ключ? Можешь привести значение этого параметра?
И, вообще, полный путь - как он есть.

Всего записей: 3551 | Зарегистр. 20-11-2003 | Отправлено: 11:41 12-03-2011 | Исправлено: Rush, 11:42 12-03-2011
Free_Soft



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Rush
Хм.. сейчас попробовал на Win7 x86 все, как ты сказал - ключ показывает, правда, тот, о котором я выше писал - но это уже другой вопрос. Раньше пробовал все это на Win7 x64 - были траблы, описанные выше. Вечером до той системы доберусь - отпишусь тогда

----------
На вашей перфокартѣ обнаруженъ вирусъ, механизмъ будетъ остановленъ.

Всего записей: 1536 | Зарегистр. 19-04-2010 | Отправлено: 12:23 12-03-2011
ComradG



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Rush
за ссылки спасибо, но мне оные скрипты ни к чему. да и относительно выуживания ключа офиса я уже постил.
 
Free_Soft
слово внимательность нам не знакомо? я ж в пошевском скрипте специально ветви вынес отдельно, а потому тебе оставалось забить нужные ветки семерки. пошевский скрипт заточен под ХР, но подставляя нужные значения реестра работает и в семерке (проверял под виртуалями).

Всего записей: 2038 | Зарегистр. 05-07-2008 | Отправлено: 14:42 12-03-2011
Rush

Уже за тридцать...
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
ComradG

Цитата:
за ссылки спасибо, но мне оные скрипты ни к чему.

Ты ведь писал, что запарился на vbs реализовать. Ну и подумал, что тебе интересно будет.
Не сердись - мир, дружба, жвачка.

Всего записей: 3551 | Зарегистр. 20-11-2003 | Отправлено: 14:54 12-03-2011
ComradG



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Rush
да, запарился! но я же не примянул сказать СПАСИБО!!! а реализовать хотелось самому. но раз уж за меня все сделано, то я и заморачиваться наверное не буду.
и не сержусь я вовсе!!! напротив, спасибо за дельные советы и ссылки!!!

Всего записей: 2038 | Зарегистр. 05-07-2008 | Отправлено: 15:18 12-03-2011
Accessor



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Камрады, нашёл в Инете вот такой код:
Цитата:
'On Error Resume NextConst ADS_SCOPE_SUBTREE = 2
 
Set objConnection = CreateObject("ADODB.Connection")
 objConnection.Provider = "ADsDSOObject"
 objConnection.Open "Active Directory Provider"
Set objCommand =   CreateObject("ADODB.Command")
 Set objCommand.ActiveConnection = objConnection
 
objCommand.Properties("Page Size") = 1000
objCommand.Properties("Searchscope") = ADS_SCOPE_SUBTREE
objCommand.CommandText = "SELECT Name FROM 'LDAP://dc=my,dc=domain' WHERE objectCategory='computer'"
 Set objRecordSet = objCommand.Execute
 
Wscript.Echo objRecordSet.RecordCount
но он упрямо показывает мне 0.
Кто подскажет, как вычитать доменные компьютеры или пользователей?

Всего записей: 2863 | Зарегистр. 31-10-2003 | Отправлено: 16:15 12-03-2011 | Исправлено: Accessor, 16:15 12-03-2011
Rush

Уже за тридцать...
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Accessor

Цитата:
'On Error Resume NextConst ADS_SCOPE_SUBTREE = 2  

Тут константа закомментирована. Попробуй на другую строку перенести.

Код:
Const ADS_SCOPE_SUBTREE = 2

Всего записей: 3551 | Зарегистр. 20-11-2003 | Отправлено: 16:41 12-03-2011
Free_Soft



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Rush
ComradG
спасибо за помощь. Но в случае с офисом 2010 он все равно какой-то странный ключ из параметра читает. Буду разбираться дальше

----------
На вашей перфокартѣ обнаруженъ вирусъ, механизмъ будетъ остановленъ.

Всего записей: 1536 | Зарегистр. 19-04-2010 | Отправлено: 14:06 13-03-2011
ComradG



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Free_Soft

Цитата:
Но в случае с офисом 2010 он все равно какой-то странный ключ из параметра читает.
я бы проверил, если бы сам пользовался офисом, а так - извиняй.

Всего записей: 2038 | Зарегистр. 05-07-2008 | Отправлено: 17:07 13-03-2011
Accessor



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Rush

Цитата:
Попробуй на другую строку перенести.  

Заработало
Я не силён в vbs, поясните, плиз, смысл обеих строк:
1.On Error Resume NextConst ADS_SCOPE_SUBTREE = 2  
2. Const ADS_SCOPE_SUBTREE = 2
весь остальной код мне, вроде как, понятен.
 
Добавлено:
Опа, разобрался. Короче ситуация следующая. Пример скрипта я взял здесь. Но там ошибка в первой строке, поэтому я её закомментировал и зазал вопрос в топике.
И только сейчас я понял, что там не одна, а две строки. Должно быть так

Код:
On Error Resume Next
Const ADS_SCOPE_SUBTREE = 2
И тогда всё работает

Всего записей: 2863 | Зарегистр. 31-10-2003 | Отправлено: 14:06 15-03-2011
   

Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112

Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Программирование "удобняшек" на VBScript
ShIvADeSt (12-07-2011 15:12): http://forum.ru-board.com/topic.cgi?forum=33&topic=11963#1


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru