|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - Батник который бы определял состояние активации виндовс |
|
CMD/BAT - Батник который бы определял состояние активации виндовс
|
![]() Старожил Сообщения: 175 |
Привет, нужен универсальный батник который бы определял состояние активации виндовс если система активирована тогда запустить файл 1.ехе а если система не активирована тогда запустить файл 2.ехе.
Нет это не связано с активацией, я пишу не большую программу для людей с ограниченными возможностими. Если система активирована тогда будет одно определённое голосовое оповещение а если система не активирована тогда будет другое голосовое определённое оповещение... Помогите пожалуйста. |
|
Отправлено: 00:10, 13-02-2013 |
Забанен Сообщения: 793
|
В общем виде более детальная информация об активации (берется из значений DigitalProductId и DigitalProductId4, некоторые из полей структур отправлены в /dev/null).
@set @lic=0 /* @echo off set @lic= cscript /nologo /e:jscript "%~f0" exit /b */ (function() { Array.prototype.getString = function(b, e) { return String.fromCharCode.apply(null, this.slice(b, e)); } Array.prototype.getCdKey = function(b, e) { var i, j, key = '', raw = this.slice(b, e), map = 'BCDFGHJKMPQRTVWXY2346789'.split(''); for (i = 24; i >= 0; i--) { var k = 0; for (j = 14; j >= 0; j--) { k = (k << 8) + raw[j]; raw[j] = (k / 24) & 255; k %= 24; } key = map[k] + key; if ((i % 5) === 0 && i !== 0) key = '-' + key; } return key; } Array.prototype.getUString = function(b, e) { var arr = this.slice(b, e); for (var i = 0; i < arr.length; i++) { if (arr[i] === 0) arr.splice(i, 1); } return String.fromCharCode.apply(null, arr); } var key = 'HKLM\\SOFTWARE\\Microsoft\\Windows NT\\CurrentVersion\\DigitalProductId', dpi, dpi4; try { with (new ActiveXObject('WScript.Shell')) { dpi = RegRead(key).toArray(); dpi4 = RegRead(key + 4).toArray(); } WScript.echo('ProductId : ' + dpi.getString(9, 31)); WScript.echo('EditionId : ' + dpi.getString(36, 45)); WScript.echo('CdKey : ' + dpi.getCdKey(52, 67)); WScript.echo('AdvancedId : ' + dpi4.getUString(8, 135)); WScript.echo('ActivationId : ' + dpi4.getUString(136, 263)); WScript.echo('EditionType : ' + dpi4.getUString(280, 600)); WScript.echo('KeyType : ' + dpi4.getUString(1016, 1143)); WScript.echo('EULA : ' + dpi4.getUString(1144, 1272)); } catch (e) { WScript.echo(e.message); } }()); |
Отправлено: 12:02, 26-05-2015 | #11 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Забанен Сообщения: 793
|
Напоследок (может кому пригодится). Набросал на Си консольное приложение pk.exe (от product key). Если закинуть в одну из директорий переменной %path% удобно дампить данные об активации из батников. Например:
В архиве помимо прочего описание структур DigitalProductId и DigitalProductId4.
|
Отправлено: 13:03, 28-05-2015 | #12 |
![]() |
Участник сейчас на форуме |
![]() |
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
CMD/BAT - батник сделать, который печатал бы общее число переменных | makc2364 | Скриптовые языки администрирования Windows | 1 | 19-12-2011 02:34 | |
CMD/BAT - батник который проверял бы пинг, обрывал соединение при ошибке, потом снова подключал | TakedaSun | Скриптовые языки администрирования Windows | 23 | 18-02-2011 14:50 | |
CMD/BAT - Батник который закрывает процесс | nullnull_ru | Скриптовые языки администрирования Windows | 2 | 21-01-2011 05:22 | |
Любой язык - [решено] Скрипт который бы запускал 2 процесса и в случае убийства одного убивал бы и другой | iDrug | Скриптовые языки администрирования Windows | 7 | 12-10-2009 19:08 | |
CMD/BAT - [решено] нужен батник который бы пинговал диапазон ip и записывал результат в файл | dvassilyev | Скриптовые языки администрирования Windows | 7 | 08-05-2009 14:33 |
|