Имя: Пароль:
IT
Админ
Терминальный сервер 1с
0 Makaveli21
 
01.08.16
15:45
Строго не судить, первый пост) Вообщем срочно нужна помощь! Перешли на 8-у 1с(самописная) и на Windows Server 2012, и никак не могу настроить терминальный сервер. 7-ая 1с стоит на 2008, в Active Derictory указываешь имя экзешника, и в переменных средах прописываешь путь, где собственно этот экзешник лежит, и на 2008 все прекрасно работало без нареканий, но в 2012 версии столкнулся с ошибкой: "Не удалось найти указанный файл", "Не удалось запустить следующую начальную программу "Название программы"", подскажите пожалуйста может какие-то особенности в 2012 версии WS есть? Заранее спасибо.
1 Garykom
 
гуру
01.08.16
15:48
речь про автозапуск приложения при подключении клиента к терминалу?
2 Makaveli21
 
01.08.16
15:50
(1) В яблочко, чтобы как терминал работал и к винде доступа не имел.
3 Garykom
 
гуру
01.08.16
15:52
(2) полный путь то пропиши и гуглить про "ключи запуска 1С 8"
4 Makaveli21
 
01.08.16
15:55
(3) Забыл указать, вариант с полным путем отпадает, нужно чтобы именно так работал, ибо сервер не один.
5 Garykom
 
гуру
01.08.16
16:02
(4) настройки клиентов (в т.ч. пути автозапуска проги при входе) можно прописать как на сервере (причем разные для каждого клиента)
так и создав разные файлики .RDP для клиентов
6 Makaveli21
 
02.08.16
07:16
(5) к сожалению кроме, полного пути никаких настроек другим способом не пропишешь, если только создавать кучу разных RDP ярлыков
7 arsik
 
гуру
02.08.16
09:43
(6) Самый простой способ: Прописать в профиле запуск скрипта. В скрипте уже всю логику расписать, в зависимости от имени сервера.
8 arsik
 
гуру
02.08.16
09:46
(7) Ну и скрипт положить куда ни будь в AD (\\AD\SYSVOL\...), что бы всем юзерам AD был доступен
9 ig0z
 
02.08.16
09:47
Скрипт при авторизации: C:\windows\system32\wscript.exe /B /Nologo D:\script.vbs


текст скрипта:
Dim objWshShell, objExec, strAppExe
strAppExe = "C:\Program Files (x86)\1cv8\8.3.8.1861\bin\1cv8.exe enterprise"
Set objWshShell = CreateObject("WScript.Shell")
Set objExec = objWshShell.Exec(strAppExe)
Do While objExec.Status = 0
WScript.Sleep 500
Loop
Set objExec = objWshSHell.Exec("logoff")
10 ig0z
 
02.08.16
09:49
(9)  в добавок для сервера

Dim objWshShell, objExec, strAppExe
strAppExe = "C:\Program Files (x86)\1cv8\8.3.7.2008\bin\1cv8.exe enterprise /s ИмяТвоегоСервера\ИмяБазы /AppAutoCheckMode"
Set objWshShell = CreateObject("WScript.Shell")
Set objExec = objWshShell.Exec(strAppExe)
Do While objExec.Status = 0
WScript.Sleep 500
Loop
Set objExec = objWshSHell.Exec("logoff")
11 arsik
 
гуру
02.08.16
09:56
зачем ws? Достаточно батника.
12 Garykom
 
гуру
02.08.16
11:43
Ну можно через переменные среды и добавить каталог "1cv8.exe" в PATH
13 arsik
 
гуру
02.08.16
11:45
(12) Это же надо по серверам лазить.
14 Garykom
 
гуру
02.08.16
11:59
(13) Да через скрипт удобнее оно во многом, но это же скрипты нуна уметь писать ))
15 Asaqura
 
02.08.16
12:15
RemoteApp не?
16 DrZombi
 
гуру
02.08.16
12:25
(15) Это слишком просто, ТС не ищет простых путей :)
17 DrZombi
 
гуру
02.08.16
12:26
18 Makaveli21
 
02.08.16
14:35
(14) (15) (17) Скрипты и RemoteApp отпадают, так как нужно именно с RDP подключатся, ибо в Active Derictory стоит запуск с название экзешника, а его менять категорически нельзя (12) пробовал переменные среды, почему то эффекта не дает никакого, и путь прописывал и название ярлыка и все вместе и раздельно, в упор не видит в папке этот экзешник
19 Asaqura
 
02.08.16
15:04
"а его менять категорически нельзя"  - почему?
20 Makaveli21
 
02.08.16
15:18
(19) Потому что есть еще 3, 1сных сервера, с одинаковыми экзешниками, если я поменяю имя рабочей программы с которой запускаюсь, то на другие 2 не пустит
21 Garykom
 
гуру
02.08.16
15:20
(18) чтобы path заработало нуна сервак перегружать вроде
22 Asaqura
 
02.08.16
15:22
(20) в RemoteApp просто будет выбор этих баз с разных серверов. сервера в домене или нет?
23 arsik
 
гуру
02.08.16
15:30
(20) Что ты издеваешься?

Будет у пользователей домена в профиле везде батник один прописан
\\moi.domen\system\start1c.bat
В нем конструкция (не помню как там в бате) типа:

set tekushiiserver = %servername%
if tekushiiserver = "server1"
   set exefile = "dgfgerger1"
if tekushiiserver = "server2"
   set exefile = "dgfgerger2"

start exefile
24 Makaveli21
 
02.08.16
15:44
(21) Перезагружал, бестолку, я так понял так где-то в переменных средах ошибка, ибо на других серверах прекрасно все работает. (22) (23) При коннекте через РДП один хрен будет пытаться найти этот экзешник, и когда он его опять не найдет, высветит ошибку и будет там торчать, п запуск с программы нельзя никак убирать
25 Йохохо
 
02.08.16
15:58
(24) путь же можно прямо в сессии цмд добавлять. Вбей путь и поменяй для себя 1с.ехе на цмд и выведи переменную путь
ЗЫ все эти действия не помешают ну никак открыть эксплорер и прибить 1с
26 arsik
 
гуру
02.08.16
16:18
(24) Как не найдет то? Ты же в exefile пропишеш свой экзешник для каждого сервера. Типа:
if tekushiiserver = "server1"
   set exefile = "c:\1cv8\8.3.7.1831\bin\1cv8c.exe"
if tekushiiserver = "server2"
   set exefile = "c:\1cv8\8.3.8.1652\bin\1cv8c.exe"

Но если ты сам конечно пути криво пропишеш, тогда не заведется.
27 Garykom
 
гуру
02.08.16
16:21
(26) Зачем один то скрипт общий? На каждый сервак свой скрипт кинуть с одинаковым путем а внутри уже что нуна.
28 arsik
 
гуру
02.08.16
16:33
(27) Это чисто для удобства. Не нужно на серваки лазить. Ну и вдруг на одном нет диска "С" а на втором нет диска "Д"
29 Garykom
 
гуру
02.08.16
16:39
(28) Как бы там совсем C/D и прочих логических дисков не оказалося... только /
30 go-electronic
 
03.08.16
10:00
Сделайте скриншот с ошибкой, так будет проще.