none
Как определить что скипт запущен в терминальной сесии? RRS feed

  • Вопрос

  • Вопрос пустяковый. Домен 2003. Есть vbs  логон скрипт, который через ГП выполняется на клиентских машинах. Когда клиенты ходят на терминальные сервера, логон скрипт также исполняется. Хотел бы организовать проверку, и если сессия терминальная, то завершать выполнение скрипта.

    Поделитесь кодом, пожалуйста. :-)

    16 сентября 2010 г. 5:44

Ответы

Все ответы

  • Посмотрите в сторону loopback policy processing.


    blog: http://shss.wordpress.com/
    16 сентября 2010 г. 6:30
  • У меня не 10 и не 20 терминальных серверов. И множество настроек через ГП для различных групп серверов. Самый простой и прозрачный способ не выполнять часть логон скрипта пользователя на терминальном сервере.  Поделитесь работающим кодом, please!!!
    16 сентября 2010 г. 6:54
  • >У меня не 10 и не 20 терминальных серверов.

    А сколько? 1 или 2, или 100, или 1000?

    Ну, если не хотите пользовать loopback, а хотите именно в скрипте выполнять проверку, то  можно, например, просто контролировать содержимое переменной окружения %computername%.


    blog: http://shss.wordpress.com/
    16 сентября 2010 г. 6:59
  • Можно проверить переменную окружения SESSIONNAME

    для консоли в ней "Console"

    для терминальной сессии что вроде "RDP-Tcp#2"


    Сазонов Илья http://www.itcommunity.ru/blogs/sie-wl/
    16 сентября 2010 г. 12:18
    Модератор
  • ... или, например, проверить наличие переменной окружения CLIENTNAME


    blog: http://shss.wordpress.com/
    • Помечено в качестве ответа aLexRADCH 17 сентября 2010 г. 12:57
    16 сентября 2010 г. 12:31
  • Вот получилось такое, может кому пригодится.

    Function IsTSSession
     Dim CltName, CompName
     On Error Resume Next
    
     CltName = UCase(WshShell.ExpandEnvironmentStrings("%Clientname%"))
     CompName = UCase(WshShell.ExpandEnvironmentStrings("%Computername%"))
    
     if ((CltName <> "%CLIENTNAME%") and (CltName <> "%Computername%")) then
     IsTSSession = True
     else
     IsTSSession = False
     end if
    End Function

     

    17 сентября 2010 г. 10:02