Здравствуйте. Все знают, что при работе с терминальным сервером и временными лицензиями через 90 дней на клиентской машине вылезает ошибка лицензирования. И как все знают лечится данная ошибка удалением ветки в реестре:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSLicensing
Я это делаю скриптом *.bat. Но если эту операцию проделать в Windows 7 то потом нужно от имени администратора запустить программу подключения к удалённому рабочему столу, чтобы эта ветка реестра создалась.
Отсюда вопрос:
Если в планировщик заданий всунуть скрипт по удалению ветки реестра, и указать пользователя от имени которого производится запуск, (пусть это будет администратор) ветка реестра удалится но как быть с запуском подключения к удалённому рабочему столу от имени администратора? Просто запуск mstsc.exe результата не даёт - ветка реестра не создаётся. Я так понимаю, что нужно инициализировать подключение к определённому терминальному серверу, чтобы в реестре прописалась временная лицензия. Как автоматизировать процесс?
RDP/Citrix/Term - Клиентские лицензии
-
Iska
Re: RDP/Citrix/Term - Клиентские лицензии
Указывайте имя хоста:
Код:
Код:
Код:
Код: Выделить всё
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 ^
)
endlocal
exit /b 0-
Tonny_Bennet
Re: RDP/Citrix/Term - Клиентские лицензии
Iska, спасибо. Скрипт интересный. Но вот как быть если компов несколько и указать у какой машины закончился срок временной лицензии нет возможности?
-
Iska
Re: RDP/Citrix/Term - Клиентские лицензии
Этот пакетный файл на аварийный случай:
уже по факту я просто запускаю его непосредственно из сети (такой запуск возможен:
Код:
), подставив имя потребной машины в качестве параметра из сетевого окружения Far Manager'а.
Цитата Tonny_Bennet:
Но вот как быть если компов несколько…
Например, так:
Код:
Цитата Tonny_Bennet:
…и указать у какой машины закончился срок временной лицензии нет возможности?
Это как?
читать дальше »
уже по факту я просто запускаю его непосредственно из сети (такой запуск возможен:
Код:
Код: Выделить всё
Windows Registry Editor Version 5.00
[HKEY_CURRENT_USER\Software\Microsoft\Command Processor]
"DisableUNCCheck"=dword:00000001), подставив имя потребной машины в качестве параметра из сетевого окружения Far Manager'а.
Цитата Tonny_Bennet:
Но вот как быть если компов несколько…
RDP/Citrix/Term - Клиентские лицензии
Например, так:
читать дальше »
Код:
Код: Выделить всё
@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:
…и указать у какой машины закончился срок временной лицензии нет возможности?
RDP/Citrix/Term - Клиентские лицензии
Это как?
-
Tonny_Bennet
Re: RDP/Citrix/Term - Клиентские лицензии
Цитата Iska:
уже по факту я просто запускаю его непосредственно из сети
т.е. файл запускается не с "проблемной" машины?
Цитата Iska:
Цитата Tonny_Bennet:
…и указать у какой машины закончился срок временной лицензии нет возможности? »
Это как?
Если я удалил ветку реестра и с компа win7 запускаю подключение от имени администратора к Server1, то потом к этому серверу может подключится и обычный юзер. А если обычный юзер захочет подключиться к Server2, у которого тоже закончился срок лицензии и я первом шаге удалил ветку реестра, юзер не сможет подключится. Нужно будет сначала подключится от имени админа, чтобы ветка создалась. А потом уже можно и из под юзера подключаться к server2. (Это всё если у Server1 и Server2 разные сервера лицензирования)
уже по факту я просто запускаю его непосредственно из сети
RDP/Citrix/Term - Клиентские лицензии
т.е. файл запускается не с "проблемной" машины?
Цитата Iska:
Цитата Tonny_Bennet:
…и указать у какой машины закончился срок временной лицензии нет возможности? »
Это как?
RDP/Citrix/Term - Клиентские лицензии
Если я удалил ветку реестра и с компа win7 запускаю подключение от имени администратора к Server1, то потом к этому серверу может подключится и обычный юзер. А если обычный юзер захочет подключиться к Server2, у которого тоже закончился срок лицензии и я первом шаге удалил ветку реестра, юзер не сможет подключится. Нужно будет сначала подключится от имени админа, чтобы ветка создалась. А потом уже можно и из под юзера подключаться к server2. (Это всё если у Server1 и Server2 разные сервера лицензирования)
-
Iska
Re: RDP/Citrix/Term - Клиентские лицензии
Цитата Tonny_Bennet:
т.е. файл запускается не с "проблемной" машины?
Нет, его запускают «ручками», по факту случившегося, администраторы для «проблемной» машины — путём указания её имени параметром данного пакетного файла.
Цитата Tonny_Bennet:
Если я удалил ветку реестра и с компа win7 запускаю подключение от имени администратора к Server1, то потом к этому серверу может подключится и обычный юзер. А если обычный юзер захочет подключиться к Server2, у которого тоже закончился срок лицензии и я первом шаге удалил ветку реестра, юзер не сможет подключится. Нужно будет сначала подключится от имени админа, чтобы ветка создалась. А потом уже можно и из под юзера подключаться к server2. (Это всё если у Server1 и Server2 разные сервера лицензирования)
Ясно. Попробуйте для эксперимента указать в
Код:
— сработает? Дублировать команду удаления процессов «mstsc.exe» — для эксперимента — не надо. А вот для реальной работы потребуется что-то придумывать, дабы завершать не все процессы с именем «mstsc.exe», а только и именно процессы, запущенные данным пакетным файлом.
т.е. файл запускается не с "проблемной" машины?
RDP/Citrix/Term - Клиентские лицензии
Нет, его запускают «ручками», по факту случившегося, администраторы для «проблемной» машины — путём указания её имени параметром данного пакетного файла.
Цитата Tonny_Bennet:
Если я удалил ветку реестра и с компа win7 запускаю подключение от имени администратора к Server1, то потом к этому серверу может подключится и обычный юзер. А если обычный юзер захочет подключиться к Server2, у которого тоже закончился срок лицензии и я первом шаге удалил ветку реестра, юзер не сможет подключится. Нужно будет сначала подключится от имени админа, чтобы ветка создалась. А потом уже можно и из под юзера подключаться к server2. (Это всё если у Server1 и Server2 разные сервера лицензирования)
RDP/Citrix/Term - Клиентские лицензии
Ясно. Попробуйте для эксперимента указать в
RDP/Citrix/Term - Клиентские лицензии
несколько команд для подключения, продублировав команду «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», а только и именно процессы, запущенные данным пакетным файлом.