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

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - Батник который бы определял состояние активации виндовс

Ответить
Настройки темы
CMD/BAT - Батник который бы определял состояние активации виндовс

Аватара для angel_lyucifer

Старожил


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


Конфигурация

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


Изменения
Автор: angel_lyucifer
Дата: 13-02-2013
Привет, нужен универсальный батник который бы определял состояние активации виндовс если система активирована тогда запустить файл 1.ехе а если система не активирована тогда запустить файл 2.ехе.

Нет это не связано с активацией, я пишу не большую программу для людей с ограниченными возможностими.
Если система активирована тогда будет одно определённое голосовое оповещение а если система не активирована тогда будет другое голосовое определённое оповещение...

Помогите пожалуйста.

Отправлено: 00:10, 13-02-2013

 

Аватара для Gen_prot

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


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

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


думаю что то вроде
Код: Выделить весь код
:: запишем вывод команды проверки лицензии в файл
cscript %windir%\system32\slmgr.vbs -xpr >win_act.txt
:: поищем "Постоянная активация прошла успешно."
Find /C "успешно" win_act.txt 
:: не нашли, то запустить Finish1
If ErrorLevel 1 Call Finish1.CMD 
:: иначе 
If ErrorLevel 0 Call Finish2.CMD

Отправлено: 19:04, 23-03-2013 | #2



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

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


Аватара для angel_lyucifer

Старожил


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

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


PHP код: Выделить весь код

:: запишем вывод команды проверки лицензии в файл 
cscript 
%windir%system32slmgr.vbs -xpr >win_act.txt 
:: поищем "Постоянная активация прошла успешно."
Find /"успешно" win_act.txt  
:: не нашлито запустить Finish1 
If ErrorLevel 1 Call Finish1.CMD  
:: иначе
If ErrorLevel 0 Call Finish2.CMD 

В моей os нет такого скрипта slmgr.vbs...

-------
Век живи, век учись! =)


Последний раз редактировалось angel_lyucifer, 24-03-2013 в 13:34.


Отправлено: 13:27, 24-03-2013 | #3


Ветеран


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

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


angel_lyucifer, В общем случае можно так:
Код: Выделить весь код
wmic path SoftwareLicensingProduct get licensestatus | 1>nul findstr "1" && echo Licensed || echo Not Licensed
Подробнее
Это сообщение посчитали полезным следующие участники:

Отправлено: 15:09, 24-03-2013 | #4


Ветеран


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

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


Foreigner, можно написать универсальный код для определения статуса активации Windows XP \ Windows7 ?

Отправлено: 17:51, 24-03-2013 | #5


Ветеран


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

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


sov44, Не знаю будет работать или нет:
Код: Выделить весь код
@echo off
setlocal

for /f %%i in (' wmic os get version /value ') do 1>nul set "%%i"

if %version% gtr 5.3 (

    wmic path SoftwareLicensingProduct get LicenseStatus | 1>nul findstr "1" && echo Licensed || echo Not Licensed

) else (

    wmic path Win32_WindowsProductActivation get ActivationRequred | findstr "0" && echo Licensed || echo Not Licensed

)
ЗЫ. В ХР Номе работать не будет точно, если пользователь не установит wmic

Последний раз редактировалось Foreigner, 24-03-2013 в 18:47.

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

Отправлено: 18:38, 24-03-2013 | #6


Пользователь


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

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


Foreigner, пропустили букву i (Required)
Код: Выделить весь код
wmic path Win32_WindowsProductActivation get ActivationRequired | findstr "0" && echo Licensed || echo Not Licensed

-------
Alex Dragokas

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

Отправлено: 23:19, 24-03-2013 | #7


Пользователь


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

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


%version% gtr 5.3

Как это работает?

Сравнение по кодовой таблице символов?

-------
Alex Dragokas


Отправлено: 02:19, 26-03-2013 | #8


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


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

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


Как можно вывести в консоль ключ активации, если винда активирована?
И можно ли как-нибудь проверить активацию msoffice таким же методом?

Отправлено: 10:33, 22-05-2015 | #9


Забанен


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

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


Цитата mammuthus:
Как можно вывести в консоль ключ активации, если винда активирована?
Например, так:
Код: Выделить весь код
@set @pk=0 /*
  @echo off
    set @pk=
    cscript /nologo /e:jscript "%~f0" "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\DigitalProductId"
  exit /b
*/

(function(key) {
  var i, j, res = '',
      map = 'BCDFGHJKMPQRTVWXY2346789'.split('');
      
  with (new ActiveXObject('WScript.Shell')) {
    key = RegRead(key).toArray().slice(52, 67);
  }
  
  for (i = 24; i >= 0; i--) {
    var k = 0;
    for (j = 14; j >= 0; j--) {
      k = (k << 8) + key[j];
      key[j] = (k / 24) & 255;
      k %= 24;
    }
    res = map[k] + res;
    if ((i % 5) === 0 && i !== 0) res = '-' + res;
  }
  
  WScript.echo(res);
}(
  WScript.Arguments.length !== 1
  ? WScript.Quit(1)
  : WScript.Arguments.Unnamed(0)
));
Цитата mammuthus:
И можно ли как-нибудь проверить активацию msoffice таким же методом?
Можно. Можно даже в WMI не лезть, так как DigitalProductId содержит все необходимые сведения - чай ведь структура данных об активации продукта m$.
Это сообщение посчитали полезным следующие участники:

Отправлено: 12:20, 22-05-2015 | #10



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - Батник который бы определял состояние активации виндовс

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

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
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




 
Переход