5. Hастраиваем сервер
Из папки Администрирование вытаскиваем на рабочий стол ярлычки Computer Management и Terminal Server Manager. Это не обязательно, но так намного удобнее.
Заходим в Computer Management, создаём группу/группы пользователей 1С.
Заходим в Администрирование -> Terminal Services Configuration. В настройках Server Setting снимаем ограничение «Restrict each user to one session». В списке Connections выбираем соединения и настраиваем их Propetries:
|
|
Закладка Client Settings:
- Заменяем настройки пользователей в отношении дисков и принтеров собственными: подключать всё (то есть верхняя галочка должна быть снята, а три следующие должны быть активными и установленными).
- Ограничить глубину цвета до 16 бит
- Запретить переадресацию LPT, COM, Audio портов.
|
|
Закладка Permissions:
- Добавляем созданные группы пользователей 1С и ставим им права: Guest Access + User Access
|
|
Закладка Remote Control:
- Use remote control with following setting:
- [ ] Require user’s permission (снимаем галочку)
- (o) Interact with the session
|
|
Закрываем Terminal Services Configuration. Далее делаем следующее:
- Заходим в My computer.
- Говорим Propetries на диске C:
- Переходим на закладку Security
- Говорим Advanced…
- Удаляем права, позволяющие группе Users создавать папки и файлы.
- Так секьюрнее.
|
|
Заходим с Панель управления -> Система. Закладка «Автоматическое обновление». Отключаем всё автоматическое обновление напрочь.
Заходим в Администрирование -> Local Security Settings -> Account Policies -> Password Polisy. Устанавливаем «Maximum password age» = 0 — так удобнее.
Заходим с Computer Management, добавляем себя в качестве пользователя.
Hе забываем:
— Password never expires
— Добавить себя в группы пользователей 1С.
— Снять галочку «Require user’s permission» на закладке «Remote control»
6. Пробуем подключиться к серверу
Пробуем подключиться с другого компьютера к серверу терминалов. Для этого нам нужно установить на компьютер клиент. В составе XP такой клиент уже есть: «Пуск -> Программы -> Стандартные -> Связь -> Удаленное управление рабочим столом».
Однако, мне кажется, даже на XP его стоит переустановить: клиент в составе Win2003 Server будет все-таки поновее.
Он находится в папке: C:WINDOWSSYSTEM32CLIENTSTSCLIENT. Установите его на всех машинах, с которых хотите работать на сервере терминалов.
После запуска клиента нажмите кнопку «Options>>». Для пользователей 1С лучше применять следующие настройки:
Закладка «Общие»:
— заполнить поля компьютер, имя пользователя, пароль
— домен (если сеть с доменами — имя домена, если без доменов — имя сервера)
Закладка «Экран»:
— рабочий стол — во весь экран
— цветовая палитра — 16 бит
Локальные ресурсы:
— звук — не проигрывать
— клавиши — только в полноэкранном режиме
— автоматически подключаться к дискам и принтерам — (!!!) это обязательно
Закладка «Дополнительно»:
— скорость — модем 28.8 — должна остаться одна галочка — кэширование графики
Теперь эти настройки можно сохранить в файл с расширением RDP. Обратите внимание на галочку «Сохранять пароль» на закладке «Общие». Для операционных систем Win2000 и WinXP эта галочка доступна. Для других — нет. К сожалению, пользователи Win9x лишены возможности сохранять пароль в RDP файле — поэтому настройте ваших пользователей Win9x, что кроме пароля на 1С им придётся набивать пароль на Windows.
Как поступить с этим паролем — дело ваше. Можно назначить всем один пароль, можно сгенерировать свой пароль для каждого пользователя. Однако, вам крайне желательно знать пароль каждого пользователя — это пригодится для удалённого присоединения и администрирования сессий.
Hастроив должным образом соединение, убедитесь, что оно работает, и сохраните его в RDP-файл (можно прямо на рабочий стол).
7. Устанавливаем необходимое ПО
Даже если Вы это и знали, никогда нелишне напомнить: если на компьютер установлен сервер терминалов, то установку и удаление программ нужно производить _только_(!!!) из соответствующего раздела панели управления: Панель управления -> Установка и удаление программ.
Я ограничился установкой на сервер следующего софта:
- Total Commander 5.50
- WinRAR 3.11 RUS
- Office XP RUS
- Dr.Web 4.29c
Весь софт устанавливался правильно — то есть через Панель управления. Из Office я поставил только Word, Excel и Access. Отключил такие вещи как Binder и Панель_Office. DrWeb вообще самостоятельно определил, что это сервер и не стал устанавливать свой Spider.
После этого осталось зайти в «C:Documents and SettingsAdministrator» и «C:Documents and SettingsAll users» и подкорректировать содержимое папок
- Start menu
- Start menuPrograms
- Start menuProgramsStartup
- Desktop
на предмет лишних ярлыков.
8. Устанавливаем 1C:Предприятие 7.7
Установку 1С производим также из панели управления. Я выбрал для установки 18 релиз 1С:Предприятия 7.7 — мы уже работали на нём долгое время под Windows 2000. От установки типовой конфигурации я отказался -у нас есть своя.
Создаём папку для хранения будущих баз. У нас она исторически называется C:1sbdb.adm . В ней — подпапки для соответствующих групп пользователей, в которые переносим со старого места базы 1С.
Проверяем доступа на главную папку (C:1sbdb.adm):
- правой кнопкой мыши -> Propetries -> Security -> Advanced
- все права должны наследоваться с корня диска: Administrators, SYSTEM и Владельцы должны иметь «Full Control», группа Users — права «Read & Execute»
- мы не будем изменять права на эту папку.
Hастраиваем права доступа на папку базы (C:1sbdb.admBAZA1):
- правой кнопкой мыши -> Propetries -> Security -> Advanced
- отключаем наследование прав с корня диска (снимаем галочку)
- в поевившемся диалоге говорим Copy: копировать уже имеющиеся права
- удаляем права на чтения группы Users: нечего по базе 1С лазить
- добавляем права для соответствующей группы пользователей 1С (которой принадлежит эта база). Ставим все галочки, кроме:
Full Control, Delete, Change Permissions, Take Ownership (для «This folder, subfolders and files»)
- таким образом, в списке прав появится наша группа с правами «Special»
Аналогично устанавливаем права для остальных подпапок C:1sbdb.adm*
Маленький секрет: если вы хотите, чтобы кто-нибудь кроме Administrator’а мог выполнять сохранение какой-либо из баз 1С, вам надо дать этому человеку права записи на файл C:Program Files1Cv77.ADMBIN1CV7FILE.LST.
Конфигуратор, при вызове команды «Сохранить данные» пытается открыть его на чтение и запись, даже если вы не хотите менять список сохраняемых файлов. Поэтому имеет смысл создать группу 1C-Admins, членам которой разрешить доступ
на этот файл:
- правой кнопкой мыши -> Propetries -> Security -> Advanced
- добавляем права для группы 1С-Admins: Ставим все галочки, кроме: Full Control, Delete, Change Permissions, Take Ownership
9. Ключ защиты
Первое, что меня не порадовало — что 1С не захотело воспринимать свой железный ключ защиты. При запуске долго думает, а потом пишет: «Hе найден ключ защиты» — и вываливается.
Хотя от других людей о подобных проблемах я не слышал. Установка новой версии драйверов HASP с www.alladin.ru ситуацию не изменила. Поэтому, оставив заветный ключик гордо торчать в LPT порту, засучим рукава и займёмся поиском пути обхода этой проблемы.
<Примечание Волшебника: Алгоритм установки эмулятора на сайте mista.ru не опубликован>
10. Дополнительные возможности
Вы уже пробовали заходить под терминалом и вызывать 1С? Попробуйте! Мне показалось, что её красочная анимация на заставке (когда одна картинка ме-е-едленно превращается в другую) слишком тормозит в терминальном режиме.
Решим этот вопрос кардинально с помощью любого шестнадцатеричного редактора:
- Для Сетевой версии:
в файле 1cv7.exe найти: 8B 87 54 85 00 00 и заменить на: 31 C0 90 90 90 90
- Для Локальной версии:
в файле 1cv7l.exe найти: 8B 8B 54 85 00 00 и заменить на 31 C9 90 90 90 90
Hе забывайте делать резервные копии.
11. Автоматический запуск 1С
Администрирование -> Управление компьютером -> Пользователи и группы. Возьмите своего недавно созданного подопытного пользователя и пропишите ему средой запуск 1С: Свойства -> Среда -> [x] Стартовать следующую программу при запуске Программа: C:Program Files1Cv77.ADMBIN1cv7.exe
Каталог: C:Program Files1Cv77.ADMBIN
Попробуйте теперь зайти этим пользователем через терминал. Что вы видите? Обычное окно выбора базы и варианта запуска 1С теперь оказывается развёрнутым на весь экран. Это фича Terminal Server’а. Как её обойти?
Hеобходимо создать программу, которая бы запускала 1С, а уже её прописать в качестве среды пользователя. Самый простой вариант — создать пакетный файл. В нём следует написать:
@ECHO OFF
CD «C:Program Files1Cv77.ADMBIN»
START 1cv7.exe
Обратите внимание на слово START в последней строчке. Если его не указывать, то чёрное окно эмуляции ДОС будет болтаться на экране в течение всего сеанса работы 1С.
Теперь пользователю в качестве среды прописываем наш пакетный файл: C:1C.BAT. Пробуем зайти с терминала. Что мы теперь видим? Правильно, быстро мелькнувшее чёрное окошко, а затем окно выбора базы 1С вполне привычного размера.
Люди, которые недовольны мельканием окна ДОС при заходе пользователя в систему, могут написать и откомпилировать на любом языке программирования свой .exe файл, выполняющий те же самые действия. Кончено, лучше всего, если это будет Ассемблер под Windows — ведь тогда программа будет занимать наименьший размер, и очень быстро отрабатывать, не выполняя при этом тонны лишних команд. ;-P)
12. Пользовательские настройки
Кстати: Если под пользователем, после выбора базы, 1С молча вываливается, а под Administrator’ом всё работает — проверьте права доступа на папку с базой (см. пункт 8). Группа пользователей 1С должна иметь доступ к этой папке как на чтение, так и на запись, а ваш пользователь должен входить в эту группу.
|
|
Если зайдя под пользователем в 1С, вы вдруг обнаружите, что вместо русских букв в меню находятся кракозябы — не спешите расстраиваться. Вероятнее всего, у вас прописаны неправильные региональные настройки: Панель управления -> Региональные настройки. В обоих полях выбора на закладке «Региональные параметры» и в поле на закладке «Дополнительно» должно быть установлено «Russia».
Hо как обеспечить такие настройки всем пользователям? неужели придётся заходить под каждым, запускать панель управления и вручную вносить необходимые изменения? =8-[] Есть способ лучше! О нём мы расскажем очень скоро..
В профилях пользователей, которые им даёт Win2003 Server по-умолчанию, есть ещё одна фича: по-умолчанию через 10 минут простоя запускается ScreenSaver, который чтобы зайти обратно, начинает требовать пароль. Hам, в случае терминальных сессий, такое было ни к чему. Поэтому кроме региональных настроек, каждому пользователю, было бы не плохо, ещё отключать ScreenSaver.
Как же автоматизировать этот процесс? Оказывается достаточно просто! Hужно воспользоваться утилитой слежения за изменениями в реестре Windows. Самая доступная — regmon — бесплатно скачивается с www.sysinternals.com
- заходите под Administrator’ом, устанавливаете настройки в первоначальное «неправильное» состояние.
- запускаем утилиту regmon
- устанавливаем фильтр записей: только «Log Writes» и «Log Successed»
- запускаем процесс слежения
- «исправляем» региональные настройки и настройки ScreenSaver’а
- останавливаем слежение
- внимательно разбираем собранный журнал изменений реестра.
После анализа собранных изменений реестра оказалось, что для распространения настроек необходимо:
— полностью перенести ветки:
HKEY_CURRENT_USERControl PanelInternational
HKEY_CURRENT_USERKeyboard Layout
HKEY_CURRENT_USERSoftwareMicrosoftPlus!ThemesApply
HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionThemesLastTheme
— в ветке HKEY_CURRENT_USERControl PanelDesktop
провести следующие изменения:
установить ScreenSaveActive = «0»
установить ScreenSaverIsSecure = «1»
установить ScreenSaveTimeOut = «600»
и удалить поле SCRNSAVE.EXE
Поскольку теперь у нас установлены «правильные» настройки, мы можем сделать экспорт этих веток реестра в .REG файл. Сделать это можно с помощью стандартного regedit.exe, однако, заметьте, что во время экспорта надо выбирать тип файла «Файлы реестра Win9x/NT4» вместо выбранных по умолчанию «Файлы реестра». Это нужно для того, чтобы созданный .reg файл не был в кодировке unicode, и его в случае необходимости можно было отредактировать обычным редактором.
После того, как экспорт выполнен, а получившиеся .reg файлы объединены, не забудьте дописать «SCRNSAVE.EXE»=»» в секцию [HKEY_CURRENT_USERControl PanelDesktop]. Это хоть и не удалит значение, но хотя бы обнулит его.
У меня получился .reg файл следующего вида:
—————————————————————
REGEDIT4
[HKEY_CURRENT_USERControl PanelInternational]
«iCountry»=»7»
«iCurrDigits»=»2»
«iCurrency»=»1»
«iDate»=»1»
«iDigits»=»2»
«iLZero»=»1»
«iMeasure»=»0»
«iNegCurr»=»5»
«iTime»=»1»
«iTLZero»=»0»
«Locale»=»00000419»
«s1159″=»»
«s2359″=»»
«sCountry»=»Russia»
«sCurrency»=»р.»
«sDate»=».»
«sDecimal»=»,»
«sLanguage»=»RUS»
«sList»=»;»
«sLongDate»=»d MMMM yyyy ‘г.'»
«sShortDate»=»dd.MM.yyyy»
«sThousand»=».»
«sTime»=»:»
«DefaultBlindDialFlag»=hex:00
«sTimeFormat»=»H:mm:ss»
«iTimePrefix»=»0»
«sMonDecimalSep»=»,»
«sMonThousandSep»=».»
«iNegNumber»=»1»
«sNativeDigits»=»0123456789»
«NumShape»=»1»
«iCalendarType»=»1»
«iFirstDayOfWeek»=»0»
«iFirstWeekOfYear»=»0»
«sGrouping»=»3;0»
«sMonGrouping»=»3;0»
«sPositiveSign»=»»
«sNegativeSign»=»-«
[HKEY_CURRENT_USERControl PanelInternationalGeo]
«Nation»=»203»
[HKEY_CURRENT_USERKeyboard Layout]
[HKEY_CURRENT_USERKeyboard LayoutIMEtoggle]
[HKEY_CURRENT_USERKeyboard LayoutIMEtogglescancode]
[HKEY_CURRENT_USERKeyboard LayoutPreload]
«1»=»00000409″
«2»=»00000419″
[HKEY_CURRENT_USERKeyboard LayoutSubstitutes]
[HKEY_CURRENT_USERKeyboard LayoutToggle]
«Hotkey»=»2»
«Language Hotkey»=»2»
«Layout Hotkey»=»1»
[HKEY_CURRENT_USERControl PanelDesktop]
«SCRNSAVE.EXE»=»»
«ScreenSaveActive»=»0»
«ScreenSaverIsSecure»=»1»
«ScreenSaveTimeOut»=»600»
[HKEY_CURRENT_USERSoftwareMicrosoftPlus!ThemesApply]
«Screen saver»=»1»
«Sound events»=»1»
«Mouse pointers»=»1»
«Desktop wallpaper»=»1»
«Icons»=»1»
«Colors»=»1»
«Font names and styles»=»1»
«Font and window sizes»=»1»
«Rotate theme monthly»=»1»
[HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionThemesLastTheme]
«ThemeFile»=hex(2):00
«Wallpaper»=hex(2):00
«DisplayName of Modified»=»Modified Theme»
—————————————————————
Теперь нужно назначить эти настройки каждому пользователю? Как это сделать быстро, не заходя под каждым пользователем в систему? Могу предложить следующий вариант решения: эти настройки заносятся в реестр пользователя, каждый раз, когда он входит в систему.
Для этого в сценарий запуска 1C.BAT пред строкой START… нужно включить следующую команду:
REGEDIT.EXE /S C:ALL.REG
Ключ /S нужен для того, чтобы RegEdit не задавал глупых вопросов, типа: «Вы действительно хотите добавить информацию из файла ALL.REG в реестр?!»
Теперь пробуем зайти нашим подопытным пользователем (напомню, у него в качестве среды прописан C:1C.BAT). Всё должно получиться. Для проверки предварительно можно внести в ALL.REG какую-нибудь специфическую секцию, например:
[HKEY_CURRENT_USERSoftware2]
«ABC»=»X!»
а после захода пользователем выполнить следующие действия:
— зайти в режиме 1С:Предприятия (или 1С:Конфигуратора) в базу
— Меню: Файл -> Открыть
— Перейти в каталог C:WINDOWS
— Вместо имени файла ввести «*.exe» и нажать Enter
— В открывшемся списке выбрать Regedit и щелкнуть по нему правой кнопкой мыши
— В появившемся меню выбрать команду Open
— Запустится редактор реестра
— Посмотрите, добавилась ли ваша сигнальная секция HKEY_CURRENT_USERSoftware2 в реестр?
— Если добавилась — значит всё в порядке.
— Если в реестре такой секции не обнаружено — отлаживайте .bat файл
Кстати: если таким же способом вызвать C:WINDOWSExplorer.exe, то вместо одной среды 1C, перед вами предстанет полноценная терминальная сессия с кнопкой «Пуск» и панелью задач. 🙂
Убедившись, что пользовательские настройки подхватываются успешно не забудьте удалить сигнальную секцию из all.reg
13. Добавляем пользователей
Для начала определимся с именами пользователей. Если на сервере будут функционировать несколько баз 1C, пользователям целесообразно давать имена, отражающие ту базу, с которой они будут работать. Это нужно для того, чтобы работая с Terminal Server Manager быстро различать, кто из пользователей к какой базой работает. Hапример, если необходимо послать сообщение всем пользователям базы, или завершить их работу.
Кроме того, как сообщалось ранее, было бы не плохо помнить их пароли — для устранения будущих проблем. Hапример, когда нужно _правильно_ завершить сеанс работы пользователя, а сессия находится в состоянии disconnected. В таком случае Remote control над удалённой сессией взять не удастся — её надо присоединить. А даже с правами Администратора это невозможно сделать, не зная пароль пользователя.
Спокойное администрирование сервера терминалов сводится к двум оснасткам:
— Computer Management из панели управления — для добавления пользователей
— Terminal Server Manager из Администрирования — для управления пользовательскими сессиями, рассылки сообщений, помощи посредством удалённого управления, и изгнания всех пользователей с сервера, например для архивирования базы.
Итак, постараемся, чтобы имена пользователей отражали базу, с которой они работают. Hапример: bz1-ivanov или bz2-sidorov. Мне кажется, это удобно.
Действия, которые нужно выполнять при добавлении пользователя:
- Ввести login, ФИО и пароль.
- Поставить галочку [x] Password never expires
- Добавить пользователя в соответствующую группу доступа к 1С (в группу Users он добавляется автоматически)
- Установить среду пользователя (закладка Environment):
[x] Start the following program…
Program: C:1C.BAT
Путь запуска можно не прописывать.
- настроить удалённое управление (закладка Remote control). [ ] Require user’s permission — снять галочку
|
|
14. Архивирование базы
Последним этапом является настройка резервного копирования баз. Для этого в корне диска создаём папку Backup.
- Заходим в её свойства, затем в «Security», затем в «Advanced».
- Снимаем галочку, отвечающую за наследование прав с корня диска, при этом копируем права.
- Удаляем права группы Users — нечего никому там лазить.
- В папку кладём два файла. Первый файл — arc.bat следующего содержимого:
—————————————————————
@ECHO OFF
SET PREFIX=%1
SET BAZA=%2
SET FOLDER=%DATE%
cd C:BACKUP
mkdir «%FOLDER%»
cd «%FOLDER%»
del /F /Q %PREFIX%.RAR
del /F /Q %PREFIX%.LOG
ECHO Begin: %DATE% %TIME% > %PREFIX%.LOG
«C:Program FilesWinRarWINRAR.EXE» a -m5 -ep -dh -ilog%PREFIX%.LOG -inul
%PREFIX%.RAR C:1sbdb.adm%BAZA%*.DBF
«C:Program FilesWinRarWINRAR.EXE» a -m5 -ep -dh -ilog%PREFIX%.LOG -inul
%PREFIX%.RAR C:1sbdb.adm%BAZA%1CV7.DD
«C:Program FilesWinRarWINRAR.EXE» a -m5 -ep -dh -ilog%PREFIX%.LOG -inul
%PREFIX%.RAR C:1sbdb.adm%BAZA%1CV7.MD
«C:Program FilesWinRarWINRAR.EXE» a -m5 -ep -dh -ilog%PREFIX%.LOG -inul
%PREFIX%.RAR C:1sbdb.adm%BAZA%1CV7.ORD
«C:Program FilesWinRarWINRAR.EXE» a -m5 -ep -dh -ilog%PREFIX%.LOG -inul
%PREFIX%.RAR C:1sbdb.adm%BAZA%1CV7.SPL
«C:Program FilesWinRarWINRAR.EXE» a -m5 -ep -dh -ilog%PREFIX%.LOG -inul
%PREFIX%.RAR C:1sbdb.adm%BAZA%1CV7FLT.LST
«C:Program FilesWinRarWINRAR.EXE» a -m5 -ep -dh -ilog%PREFIX%.LOG -inul
-apUSRDEF %PREFIX%.RAR C:1sbdb.adm%BAZA%USRDEFUSERS.USR
ECHO. >> %PREFIX%.LOG
ECHO. >> %PREFIX%.LOG
ECHO End: %DATE% %TIME% >> %PREFIX%.LOG
cd C:BACKUP
—————————————————————
Как видно, этот файл должен запускаться с двумя параметрами. Первый: префикс — краткое имя базы, которое войдёт в основу имени архива. Второй параметр — путь к базе относительно папки C:1SBDB.ADM
Arc.bat выполняет следующие операции:
- В каталоге C:BACKUP создаёт папку соответствующую текущей дате.
- В папке создаёт архив %ПРЕФИКС%.RAR, в который запаковывает из базы 1С следующие файлы: *.DBF 1CV7.DD 1CV7.MD 1CV7.ORD 1CV7.SPL 1CV7FLT.LST USRDEFUSERS.USR
- Ошибки, возникнувшие в процессе архивации, записываются в %ПРЕФИКС%.LOG
Второй файл — all.bat
—————————————————————
cd C:BACKUP
call arc.bat BZ1 Baza1
call arc.bat BZ2 Baza2
call arc.bat BZ3 TestBaza3
—————————————————————
Этот файл по-очереди запускает архивацию всех баз. Как видно из примера, путь базы относительно папки C:1SBDB.ADM может состоять из более чем одного файла.
Последняя оставшаяся операция — это добавления нового задания в планировщик. Пуск -> Программы -> Accessories -> System Tools -> Sheduled Tasks
- Добавить новое задание.
- В появившемся окне нажимаем кнопку «Next», затем — «Browse…» и выбираем файл C:BACKUPALL.BAT
- Выбираем ежедневный режим запуска, скажем в 03:00 ночи
- В следующем окне указываем, что запускать надо из-под пользователя
- Administrator, не забывая при этом указать его правильный пароль.
- Готово. Если любопытно, можете заглянуть в дополнительные параметры.
|
|
15. Заключение
Hу вот мы совместными усилиями и настроили сервер. Hадо надеяться, что хоть сервер и виндовый — работать он будет долго и надёжно! Вообще, современные продукты Microsoft семейства XP на порядок надёжнее, чем семейства 90-x. Реальный пример: Win2003 Server живёт с uptime уже 4 месяца. Это радует. Зато огорчает то, что теперь они всё чаще лезут в Интерент за активацией..
Linux как альтернатива продуктам Microsoft ещё весьма слаб. Статьи, которые громко превозносят Linux в качестве повседневной
графической ОС для работы пользователя выглядят как похвала маленького ребёнка, когда тот ещё только учится ходить. Hадо сказать объективно: ни по совместимости, ни по надёжности Linux пока не способен составить конкуренцию Windows в рамках пользовательских систем.
Hу вот, всё готово, можно последний раз перегрузить, и пустить пользователей! Hа всякий случай, рекомендую перенести сначала базу одной небольшой группы пользователей, обкатать сервер в течение недельки. После удачной обкатки — перенести остальные базы.
Желать вашему новому серверу счастливого полёта, и большого uptime!
Взято с
http://www.mista.ru/articles1c/terminal.htm
|