Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Сетевые технологии (http://forum.oszone.net/forumdisplay.php?f=31)
-   -   Клиентские лицензии (http://forum.oszone.net/showthread.php?t=236002)

Tonny_Bennet 05-06-2012 09:57 1928349

Клиентские лицензии
 
Здравствуйте. Все знают, что при работе с терминальным сервером и временными лицензиями через 90 дней на клиентской машине вылезает ошибка лицензирования. И как все знают лечится данная ошибка удалением ветки в реестре:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSLicensing

Я это делаю скриптом *.bat. Но если эту операцию проделать в Windows 7 то потом нужно от имени администратора запустить программу подключения к удалённому рабочему столу, чтобы эта ветка реестра создалась.

Отсюда вопрос:

Если в планировщик заданий всунуть скрипт по удалению ветки реестра, и указать пользователя от имени которого производится запуск, (пусть это будет администратор) ветка реестра удалится но как быть с запуском подключения к удалённому рабочему столу от имени администратора? Просто запуск mstsc.exe результата не даёт - ветка реестра не создаётся. Я так понимаю, что нужно инициализировать подключение к определённому терминальному серверу, чтобы в реестре прописалась временная лицензия. Как автоматизировать процесс?

Iska 05-06-2012 12:07 1928407

Указывайте имя хоста:
Код:

mstsc.exe /v:TerminalMachine
читать дальше »
Код:

@echo off
setlocal enableextensions enabledelayedexpansion

set sMachine=%~1

if defined sMachine (
        >nul ping.exe -w 1000 -n 1 "%sMachine%" && (
                reg.exe delete "\\%sMachine%\HKEY_LOCAL_MACHINE\Software\Microsoft\MSLicensing" /f
                wmic.exe /NODE:"%sMachine%" Process Call Create "mstsc.exe /v:TerminalMachine"
                >nul ping.exe -w 1000 -n 2 localhost
                wmic.exe /NODE:"%sMachine%" Process where "Name='mstsc.exe'" Call Terminate
        ) || echo Can't connect to [%sMachine%]
) else (
        echo Usage: %~nx0 ^<Machine name^>
)

endlocal
exit /b 0


Tonny_Bennet 05-06-2012 12:55 1928434

Iska, спасибо. Скрипт интересный. Но вот как быть если компов несколько и указать у какой машины закончился срок временной лицензии нет возможности?

Iska 05-06-2012 23:00 1928894

Этот пакетный файл на аварийный случай:
читать дальше »
уже по факту я просто запускаю его непосредственно из сети (такой запуск возможен:
Код:

Windows Registry Editor Version 5.00

[HKEY_CURRENT_USER\Software\Microsoft\Command Processor]
"DisableUNCCheck"=dword:00000001

), подставив имя потребной машины в качестве параметра из сетевого окружения Far Manager'а.

Цитата:

Цитата Tonny_Bennet
Но вот как быть если компов несколько… »

Например, так:
читать дальше »
Код:

@echo off
setlocal enableextensions enabledelayedexpansion

:Repeat
        set sMachine=%~1
       
        if defined sMachine (
                >nul ping.exe -w 1000 -n 1 "%sMachine%" && (
                        reg.exe delete "\\%sMachine%\HKEY_LOCAL_MACHINE\Software\Microsoft\MSLicensing" /f
                        wmic.exe /NODE:"%sMachine%" Process Call Create "mstsc.exe /v:TerminalMachine"
                        >nul ping.exe -w 1000 -n 2 localhost
                        wmic.exe /NODE:"%sMachine%" Process where "Name='mstsc.exe'" Call Terminate
                ) || echo Can't connect to [%sMachine%]
        ) else (
                goto :eof
        )
       
        shift
        goto :Repeat

endlocal
exit /b 0


Цитата:

Цитата Tonny_Bennet
…и указать у какой машины закончился срок временной лицензии нет возможности? »

Это как?

Tonny_Bennet 06-06-2012 09:25 1929122

Цитата:

Цитата Iska
уже по факту я просто запускаю его непосредственно из сети »

т.е. файл запускается не с "проблемной" машины?

Цитата:

Цитата Iska
Цитата Tonny_Bennet:
…и указать у какой машины закончился срок временной лицензии нет возможности? »
Это как? »

Если я удалил ветку реестра и с компа win7 запускаю подключение от имени администратора к Server1, то потом к этому серверу может подключится и обычный юзер. А если обычный юзер захочет подключиться к Server2, у которого тоже закончился срок лицензии и я первом шаге удалил ветку реестра, юзер не сможет подключится. Нужно будет сначала подключится от имени админа, чтобы ветка создалась. А потом уже можно и из под юзера подключаться к server2. (Это всё если у Server1 и Server2 разные сервера лицензирования)

Iska 06-06-2012 10:28 1929175

Цитата:

Цитата Tonny_Bennet
т.е. файл запускается не с "проблемной" машины? »

Нет, его запускают «ручками», по факту случившегося, администраторы для «проблемной» машины — путём указания её имени параметром данного пакетного файла.

Цитата:

Цитата Tonny_Bennet
Если я удалил ветку реестра и с компа win7 запускаю подключение от имени администратора к Server1, то потом к этому серверу может подключится и обычный юзер. А если обычный юзер захочет подключиться к Server2, у которого тоже закончился срок лицензии и я первом шаге удалил ветку реестра, юзер не сможет подключится. Нужно будет сначала подключится от имени админа, чтобы ветка создалась. А потом уже можно и из под юзера подключаться к server2. (Это всё если у Server1 и Server2 разные сервера лицензирования) »

Ясно. Попробуйте для эксперимента указать в озвученном пакетном файле несколько команд для подключения, продублировав команду «mstsc.exe /v:TerminalMachine», наподобие:
Код:

wmic.exe /NODE:"%sMachine%" Process Call Create "mstsc.exe /v:Server1"
wmic.exe /NODE:"%sMachine%" Process Call Create "mstsc.exe /v:Server2"

wmic.exe /NODE:"%sMachine%" Process Call Create "mstsc.exe /v:ServerN"

— сработает? Дублировать команду удаления процессов «mstsc.exe» — для эксперимента — не надо. А вот для реальной работы потребуется что-то придумывать, дабы завершать не все процессы с именем «mstsc.exe», а только и именно процессы, запущенные данным пакетным файлом.


Время: 18:33.

Время: 18:33.
© OSzone.net 2001-