![]() |
![]() |
![]() |
|
Проектирование: Способы запуска интерактивного приложения на клиенте из сессии Citrix? | ☑ | ||
---|---|---|---|---|
0
spock
14.11.07
✎
12:38
|
Интересует как делают другие - cookbook так сказать.
Нужно из сессии Citrix запустить IE и показать его пользователю. |
|||
1
FreeFin
14.11.07
✎
12:59
|
Опубликовать/Запустить приложение/вставить в логон-скрипт...что нужно, для что нужно...человеческим можешь объяснить?
|
|||
2
spock
14.11.07
✎
13:04
|
(1)объясняю человечески: нужно запустить приложение на клиентской машине (в нашем случае IE нужно запустить).
Нажали на кнопочку в 1с (или хоть где) из сессии Citrix, а на клиенте(!!) открылся IE. Публикуя приложение, мы его запускаем в адресном пространстве самого сервера. Нужно этого избежать. ps: может есть другие варианты? отличные от моей реализации. пока не внедрили :) |
|||
3
FreeFin
14.11.07
✎
13:08
|
(2) Кратенько понял. Ты сидишь дето (на консоле напр.) Жмешь кнопу в своей сессии/който программе, а у клиента (сначала определиться у какого/каких) вылазиит на экране, в его сессии, иашка с картинками? Так?
|
|||
4
Молния
14.11.07
✎
13:17
|
закачиваешь себе PStools и сайта мелкософта. Там среди тузлов есть pcexec.exe. Он способен запустить прогу на удаленной тачке под указанным юзером. А в 1С на кнопку вешаешь команду системы запустить этот pcexec с указанными заранее параметрами
|
|||
5
Молния
14.11.07
✎
13:17
|
тока хз как ты будешь разбираться на каком компе надо запустить
|
|||
6
smaharbA
14.11.07
✎
13:18
|
||||
7
smaharbA
14.11.07
✎
13:19
|
Для продвинутых и того просче, скрипт по отслеживанию тогоже что и в (6) и запуск построчно, в файлике еще и проги с параметрами путями укажешь, все просто как апельсин
|
|||
8
spock
14.11.07
✎
13:20
|
(3)Есть сервер под управлением Citrix MF/PS: "ServerMF";
На этом сервере установлена 1с. Есть клиент, с которого заходят на сервер "ServerMF": "Ivan-IV"; 1. Пользователь залогинился в видну на "Ivan-IV", кликнул по ярлыку "ICA Connections" и попал на сервер "ServerMF"; 2. Далее пользователь в сессии Citrix на сервере "ServerMF" кликнул по ярлыку "1С Предприятие", выбрал базу и ввел пароль для входа в базу "1С"; 3. Далее пользователь открыл обработку/справочник/документ и нажал на кнопку - после чего на клиенте "Ivan-IV" должен запуститься процесс "IEXPLORE.EXE"; |
|||
9
smaharbA
14.11.07
✎
13:20
|
(5) при старте 1с в справочник пользователей запишет
|
|||
10
smaharbA
14.11.07
✎
13:21
|
+(9) для цитрикса есть прекрассный ком объект (в составе его) определит все и даже РДП сессии
|
|||
11
Молния
14.11.07
✎
13:21
|
(6) прикольно.
просто не все вкурсе что для psexec надо что бы с удаленной тачки был доступ к шаре admin$. Т.е. тачка должна быть с XP Pro и у юзера должен быть пароль. а на серваке надо прописать в control userpasswords2 что к тачке нужно подключаться с таким то паролем. |
|||
12
spock
14.11.07
✎
13:22
|
(6)банально
|
|||
13
FreeFin
14.11.07
✎
13:28
|
(12) У мне Control Agent для этих целей прикручен. Еще банальнее? По файл-флагам задачи фасует. А шедулер виндовый я не пользую, нехороший он )))
|
|||
14
spock
14.11.07
✎
14:09
|
А если сервер и клиент находятся в разных сетях? Так же могут быть закрыты порты 135-139.
|
|||
15
spock
14.11.07
✎
16:40
|
+0 у меня получилось запустить по такой схеме:
Процедура Сформировать() Перем оCtxShl; Перем стрПутьIE, стрКомСтрока, стрURL; стрURL = "http://www.neta.ru/"; оCtxShl = СоздатьОбъект("CtxShlCom.server"); // Создается виртуальный канал // оCtxShl.Create(); // Определяется путь до Program Files на клиенте // стрПутьIE = оCtxShl.GetFolderPath(38); стрПутьIE = стрПутьIE + "\Internet Explorer\IEXPLORE.EXE"; // Создается процесс на клиентском компьютере по командной строке: // ""C:\Program Files\Internet Explorer\IEXPLORE.EXE" "http://www.neta.ru/"" // стрКомСтрока = """" + стрПутьIE + """" + " " + """" + стрURL + """"; оCtxShl.ExecCommandLine(стрКомСтрока); КонецПроцедуры // Сформировать() |
|||
16
spock
14.11.07
✎
19:40
|
(4)этот вариант не подходит. Клиент может зайти на сервер тонких клиентов (который сам является Citrix сервером), а с него уже уйти на основной Citrix сервер. Получается, что на первом сервере (тонких клиентов) уже куча сеансов (а могут даже с одними и теми же логинами). И в каком сеансе будет запущен IE? В консоли.
|
|||
17
spock
14.11.07
✎
19:41
|
+16 по этой же причине не все хорошо с (6)
|
|||
18
t80
14.11.07
✎
20:03
|
(16) нахер вам это все надо? живите проще
|
|||
19
t80
14.11.07
✎
20:05
|
+18 вам нужен спутниковый интернет wi-fi, с ним это все просто реализуется
|
|||
20
t80
14.11.07
✎
20:09
|
можно еще с рейдом поиграться
|
|||
21
SnarkHunter
15.11.07
✎
00:04
|
(20)А может просто использовать НайтиЗначение?
|
|||
22
Ковычки
15.11.07
✎
00:56
|
(15) откудова такой объект ?
это set c = CreateObject("MetaFrameCOM.MetaFrameSession") call c.Initialize(6, "", "", -1) msgbox c.ClientAddress msgbox c.ClientName знаю, ну и подобное, а про (15) не слыхал |
|||
23
spock
15.11.07
✎
06:59
|
(22)логично, что не слышал.
|
|||
24
spock
15.11.07
✎
07:01
|
(19)$ля, это что за поток сознания?
|
|||
25
smaharbA
15.11.07
✎
07:09
|
(23) просвети всеже, чито это было, в (15)
|
|||
26
spock
15.11.07
✎
07:11
|
(25)драйвер виртуального канала ICA + com-server
|
|||
27
spock
15.11.07
✎
07:12
|
+26 документации пока нет.
|
|||
28
smaharbA
15.11.07
✎
07:35
|
ужос, ради этого писать ком и сервис...
|
|||
29
spock
15.11.07
✎
07:40
|
(28)как оказалось, это не сложно.
|
|||
30
smaharbA
15.11.07
✎
07:46
|
а че там для драйвера IAM ?
|
|||
31
spock
15.11.07
✎
08:06
|
IAM?
|
|||
32
spock
15.11.07
✎
10:56
|
+31 что за IAM?
|
|||
33
smaharbA
15.11.07
✎
12:11
|
Identity and Access Management
|
|||
34
spock
15.11.07
✎
14:44
|
(33)а что для драйвера IAM?
развивай тему, ничего не понял, что хотел узнать от меня :) |
|||
35
vde69
15.11.07
✎
15:36
|
можно пойти примерно таким путем
'Скрипт демонстрирует возможность принудительного завершения процессов "1cv7s.exe" на всех компьютерах 'указанного домена. Данный код можно применять непосредственно перед пакетным запуском 1С:Предприятия, 'требующим монопольного входа в базу данных (например, при резервном копировании). 'ВНИМАНИЕ! Задайте нужное значение переменной "DomainName"! 'ВНИМАНИЕ! Для успешной работы скрипта его желательно запускать с правами администратора домена. 'ВНИМАНИЕ! Чтобы опробовать скрипт, не производя деструктивных действий, достаточно закомментировать 'оператор "Proc.Terminate". Option Explicit On Error Resume Next Dim DomainName 'Имя домена DomainName = "MYDOMAIN" Dim StrResult 'строка результата работы всей программы StrResult = StrResult & CStr(Now) & " начало работы скрипта" & VbCrLf Dim ADSI Set ADSI = GetObject("WinNT://" & DomainName) ADSI.Filter = Array("computer") Dim Comp 'компьютер Dim WMI 'объект WMI Dim Proc 'процесс Dim CurrName 'имя текущего компьютера CurrName = GetNameComp() 'Цикл по компьютерам домена For Each Comp In ADSI If Comp.Name <> CurrName Then Set WMI = GetObject("winmgmts:{ImpersonationLevel=Impersonate}!\\" & Trim(Comp.Name) & "\Root\CIMV2") If Err.Number=0 Then 'Цикл по процессам компьютера For Each Proc In WMI.ExecQuery("SELECT * FROM Win32_Process WHERE Name = '1cv7s.exe'") StrResult = StrResult & _ CStr(Now) & " Computer=" & Comp.Name & " PID=" & Proc.ProcessId & _ VbCrLf 'Завершение процесса 'Proc.Terminate Next 'Цикл по процессам компьютера Else 'Не удалось соединиться с компьютером If Err.Number <> 462 Then 'The remote server machine does not exist or is unavailable StrResult = StrResult & _ " " & CStr(Now) & " Computer=" & Comp.Name & " ERROR " & Err.Number & _ VbCrLf End If End If Err.Clear End If Next 'Цикл по компьютерам домена StrResult = StrResult & CStr(Now) & " конец работы скрипта" & VbCrLf 'Функция возвращает путь к каталогу временных файлов текущего пользователя Function GetTempPath() GetTempPath = CreateObject("WScript.Shell").ExpandEnvironmentStrings("%TEMP%") End Function 'GetTempPath 'Функция возвращает имя текущего компьютера Function GetNameComp() GetNameComp = CreateObject("WScript.Network").ComputerName End Function 'GetNameComp |
|||
36
spock
15.11.07
✎
15:51
|
(35)изменив этот скрипт, запускать на клиентах приложения? Читай (16)
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |