RDP/Citrix/Term - Клиентские лицензии

Ответить
Аватара пользователя
Tonny_Bennet

RDP/Citrix/Term - Клиентские лицензии

Сообщение Tonny_Bennet »

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



HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSLicensing



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



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



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

Re: RDP/Citrix/Term - Клиентские лицензии

Сообщение Iska »

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



Код:

Код: Выделить всё

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 - Клиентские лицензии

Сообщение Tonny_Bennet »

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

Re: RDP/Citrix/Term - Клиентские лицензии

Сообщение Iska »

Этот пакетный файл на аварийный случай:
читать дальше »


уже по факту я просто запускаю его непосредственно из сети (такой запуск возможен:



Код:

Код: Выделить всё

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 - Клиентские лицензии

Сообщение Tonny_Bennet »

Цитата Iska:



уже по факту я просто запускаю его непосредственно из сети
RDP/Citrix/Term - Клиентские лицензии




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




Цитата Iska:



Цитата Tonny_Bennet:

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

Это как?
RDP/Citrix/Term - Клиентские лицензии




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

Re: RDP/Citrix/Term - Клиентские лицензии

Сообщение Iska »

Цитата Tonny_Bennet:



т.е. файл запускается не с "проблемной" машины?
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», а только и именно процессы, запущенные данным пакетным файлом.
Ответить

Вернуться в «Сетевые технологии»