RemoteApp на Windows 2012 без домена

Привет, в Windows Server 2012, Microsoft сделали ограничение на использование терминального сервера, если он не введен в домен Active Directory. В частности, я столкнулся с тем, что из консоли управления сервером нельзя настроить RemoteAPP. Но к счастью, приложения можно добавить в ручную, ниже я покажу как это можно сделать. Само собой, для работы RemoteApp у вас должен быть установлен терминальный сервер, если кто не в курсе, если сервер не в домене, устанавливается он через добавление ролей, а не через установку служб удаленных рабочих столов. Выбираются службы удаленных рабочих столов, в них выбираются лицензирование удаленных рабочих столов и узел сеансов удаленных рабочих столов. Я покажу как сделать задуманное, на примере 1С, думаю понятно, что по этой схеме можно добавить любое приложение RemoteApp.Для упрощения процесса, я создал архив с готовыми файлами rdp и reg, скачать можно отсюда. Ниже описание этих файлов. Создадим, или откроем из архива .rdp файл подключения. Содержимое его, должно иметь такой вид: redirectclipboard:i:1redirectposdevices:i:0redirectprinters:i:1redirectcomports:i:1redirectsmartcards:i:1devicestoredirect:s:*drivestoredirect:s:*redirectdrives:i:1session bpp:i:32prompt for credentials on client:i:1span monitors:i:1use multimon:i:1remoteapplicationmode:i:1server port:i:3389full address:s:192.168.1.112alternate shell:s:||1cestartremoteapplicationprogram:s:||1cestartremoteapplicationname:s:1C Предприятиеallow font smoothing:i:1promptcredentialonce:i:1authentication level:i:2gatewayusagemethod:i:2gatewayprofileusagemethod:i:0gatewaycredentialssource:i:0gatewayhostname:s:remoteapplicationcmdline:s:screen mode id:i:2winposstr:s:0,3,0,0,800,600compression:i:1keyboardhook:i:2audiocapturemode:i:0videoplaybackmode:i:1connection type:i:7networkautodetect:i:1bandwidthautodetect:i:1displayconnectionbar:i:1enableworkspacereconnect:i:0disable wallpaper:i:0allow desktop composition:i:0disable full window drag:i:1disable menu anims:i:1disable themes:i:0disable cursor setting:i:0bitmapcachepersistenable:i:1audiomode:i:0autoreconnection enabled:i:1prompt for credentials:i:0negotiate security layer:i:1remoteapplicationicon:s:shell working directory:s:gatewaybrokeringtype:i:0use redirection server name:i:0rdgiskdcproxy:i:0kdcproxyname:s: Вам нужно изменить строчки, на ваши порт и адрес: server port:i:3389full address:s:192.168.1.112 А так же, в случае, если добавляете не 1С, то эти то же: alternate shell:s:||1cestartremoteapplicationprogram:s:||1cestartremoteapplicationname:s:1C Предприятие Сохраните файл, и попробуйте подключиться, если файл создан правильно, то должна будет выскочить ошибка, что приложение RemoteApp отсутсвует в списке разрешенных программ. Дальше добавим наше приложение в список разрешенных, для […]

Read more

Оптимизация скорости работы “1С:Підприємство”. Процесс “1С:Підприємство” rmngr.exe грузит процессор

Один из серверов “1С:Підприємство”, который я обслуживаю, очень странно себя вел. Загрузка процессора на машине с сервером “1С:Підприємство” почти всегда была 100%, даже когда на нем никто не работал. Базы хранились в MSSQL, их было относительно много, но реально людей, которые с ними работали — мало. Одновременно работало не больше 10-15-ти пользователей в очень вялом режиме. Введение Этот сервер привлек мое внимание сразу же, как только я стал с ним работать. Предыдущий администратор безрезультатно бился над производительностью, приобрел 2 внешних корзины для отдельного рейда под базы данных mssql и временные данные пользователя “1С:Підприємство”, но существующую проблему по загрузке процессора это не решало, хотя немножко разгрузило диски, но реальная проблема была не в них. На сервере размещались примерно 30-35 баз, в которых работали по 1-2 человека и пару баз были, где работали по 3-5 человек одновременно. Все это крутилось вместе с MSSQL сервером на отдельном железном сервере с одним стареньким ксеоном и 32 гб оперативы. В принципе, для этих задач железо было более чем. Первое, на что я обратил внимание, это то, что процессор был загружен даже ночью, когда на сервере никто не работал. Полез в консоль администратора смотреть, что нагружает процессор. Оказалось, что это фоновые задачи. Для большинства баз они были не нужны и все лишнее отключил. Нагрузка процессора сразу упала до приемлемого уровня в 60-70%, а диски вообще полностью разгрузились. Я про сервер забыл на какое-то время. Снова к нему вернулся, когда пользователи стали жаловаться на очень медленную работу баз “1С:Підприємство”. Процессор к тому времени почти всегда был загружен на 100%. Лишних фоновых задач уже […]

Read more

Подводные камни при работе в “1С:Підприємство” c датами

Работа с датой Знал бы, где упасть – соломки бы подстелил (Народная мудрость) Довелось в практической деятельности разработчика в “1С:Підприємство” столкнуться со следующим явлением. В базе было создано наперед несколько тысяч объектов справочника «Информационные карты» – для последующего занесения в них и хранения информации о постоянных покупателях торговой сети. Объектов было создано примерно 10 тысяч, на момент возникновения инцидента заполнено данными было около 7 тысяч карт. Каждое утро одно регламентное задание находило именинников среди клиентов сети (данные о которых были занесены в базу), а другое рассылало им поздравительные СМС с приглашениями получить подарок в любом удобном покупателю магазине. Запрос, который выбирал именинников из общей массы, имел приблизительно следующий вид:

На место параметров «День» и «Месяц» подставлялись соответствующие день и месяц текущего дня. Всё шло своим чередом, именинников в среднем находилось по 10-20 с периодическими всплесками до 30, но тут наступило 1е января. Регламент вдруг посчитал нужным поздравить почти 3 тысячи человек (к счастью, телефоны были указаны только у 300 из этого количества). Анализ ситуации показал, что причиной такого поведения процедуры стало своеобразное понимание понятия NULL создателями среды “1С:Підприємство” (а также нежелание привести это понимание к общему знаменателю с пониманием этого у авторов языка запросов SQL). В данном конкретном случае дело было в следующем. Даже незаполненное данными поле типа ДАТА вовсе не равно NULL, как можно было бы подумать. Среда “1С:Підприємство” в пустое поле ДАТА записывает значение Дата(“00010101”), то есть 1 января 0001-го года (видимо, нашей эры, хотя я не был бы столь уверен – имея опыт работы с “1С:Підприємство” […]

Read more

“Обнаружено потенциально опасное значение Request.Path”, полученное от клиента (веб доступ)

Ни с того ни с сего перестало работать веб-приложение на “1С:Підприємство”. Начал искать, оказывается на локальном компьютере (на сервере) выводит ошибку, подобную: [HttpException (0x80004005): Обнаружено потенциально опасное значение Request.Path, полученное от клиента (:).] System.Web.HttpRequest.ValidateInputIfRequiredByConfig() +9023209 System.Web.PipelineStepManager.ValidateHelper(HttpContext context) +59 В процессе поиска причины, нашел решение проблемы: 1. Открываем IIS. 2. Открываем наш “сайт” 3. Идем в сопоставления обработчиков 4. Ищем ISAPI-dll, выделяем строку. 5. Справа нажимаем “Добавить сопоставление сценария” 6. Путь запроса – “*”, Исполняемый файл – “C:\….\wsisapi.dll”. 7. Да Все работает.

Read more

Урезание логов в SQL Server 2012

Логи транзакций в MS SQL имеют обыкновение разрастаться, что иногда может привести к окончанию места на диске. Чтобы этого не происходило, в SQL Server существует операция урезания логов (Truncate). Урезание логов производится автоматически, в зависимости от модели восстановления: • В простой модели (Simple) — после достижения контрольной точки; • В модели полного восстановления (Full) — после создания бэкапа логов, при условии что со времени предыдущего бэкапа была достигнута контрольная точка. Но бывают ситуации, когда автоматическое урезание по каким либо причинам не производится и логи занимают все свободное место. Причем происходит это всегда неожиданно и требуется срочно освободить место. В этом случае урезание можно произвести вручную. Подобная ситуация, как правило, происходит с моделью восстановления Full, при использовании которой лог нельзя обрезать до тех пор, пока в резервную копию не попали все транзакции. Это необходимо для того, чтобы обеспечить наличие непрерывную последовательность номеров (LSN) записей в журнале. Соответственно для урезания надо либо сделать полный бэкап базы, либо (что проще и быстрее) временно перевести ее в режим Simple. Для урезания лога открываем Management Studio, выбираем нужную базу, кликаем на ней правой клавишей мыши и в открывшемся контекстном меню выбираем пункт «Properties». Переходим на вкладку «Options» и изменяем модель восстановления базы (Recovery model) на Simple. Затем в том же контекстном меню переходим в раздел Tasks -> Shrink -> Files. В поле File type выбираем Log, в поле File name указываем имя файла логов. В поле «Shrink action» выбираем «Reorganize pages before releasing unused space», задаем желаемый размер файла и жмем ОК. После завершения операции […]

Read more

Логирование в “1С:Підприємство”

Часто бывает, необходимо отслеживать состояние часто повторяющихся регламентных заданий. Например, синхронизация данных с IP-телефонией, которая может производиться каждую минуту, синхронизация с сайтами, синхронизация данных с различными системами. Использовать для этих целей логирование “1С:Підприємство” чрезвычайно не эффективно и не удобно. В таких случаях удобно использовать подход применяемый в Unix-системах: писать логи в обычные текстовые файлы, а потом делать их обработку через эффективно работающие Unix-команды: grep, tail, cat, less и т.п. Итак, рассмотрим программную реализацию в “1С:Підприємство”: Название модуля – К2_Лог

Примеры применения команды: Фиксация времени выполнения регламентных задач:

В данном примере мы фиксируем время выполнения регламентного задания и записываем данное время в лог. Причем, записываем и начало регламентного задания и окончания. Таким образом, если регламентное задание не завершилось – мы видим, что 2-я строка не записалась. Фиксация ошибок В регламентном задании, сообщения не выдаются на экран. Но, их можно писать в лог. Таким образом, если возникают ошибки, имеет смысл их фиксировать в логе.

  Анализ логов с помощью команд Linux Операционная система Windows поддерживает очень ограниченный набор команд по работе с тектовыми файлами. Однако, в Linux есть ряд команд, которые позволяют обработать много гигабайтные файлы за считанные секунды. Мы можем сделать поддержку данных команд. Они, конечно, не гораздо менее эффективно работают, чем в Linux, но позволяют сделать обработку текстовых файлов легким занятием. Для того, чтоб команды Linux поддерживались в Windows, необходимо сделать ряд вещей: Необходимо распаковать в системный каталог, доступный в путях пакет UnxUpdates: http://unxutils.sourceforge.net/ После этого в командной строке, будут восприниматься команды Linux. Вывод на экран последних […]

Read more

Отправка http и https-запросов в “1С:Підприємство”

Возникла необходимость отправлять http(s) запросы через интернет и получать ответ от удаленного сервера. Как оказалось, в “1С:Підприємство” это реализуется стандартными средствами:

Read more

Резервное копирование баз данных Postgresql в Linux

У нас в ресурсе уже описано много способов реализации резервного копирования информации. Продолжим данную тему. Теперь, рассмотрим резервное копирование баз данных Postgresql в операционной системе Linux. Вот вариант резервного копирования для 3-х баз данных:

Сохранение бекапа на удаленном сервере по ssh В условиях отсутствия локального или сетевого тома для хранения резервных копий (несколько натянутое условие, но мне пришлось столкнуться), пришлось доработать скрипт; отличие от изначального скрипта – результат дампа не сохраняется локально, а передаётся на удалённый сервер по ssh и там же производится удаление устаревших файлов:

Предварительно надо создать авторизационный ключ для пользователя (в приведённом скрипте пользователь – backup) на сервере резервного хранения и разместить приватный ключ в каталоге, доступном на чтение только пользователю root (в приведённом скрипте ключ лежит в файле /root/nbs01/backup) и настроить sshd удалённого сервера на авторизацию по ключам – об этом весьма подробно написано, например, в этой статье. Да, трафик будет весьма серьёзным, несмотря на возможность сжатия ssh, но конкретно данное решение работает в виртуальной среде, где 3 гигабайта дампа передаются примерно за полторы минуты, что вполне приемлемо. Восстановление базы данных из дампа Тут всё просто – если владелец (имя “роли входа” или пользователь postgresql, указанный владельцем изначальной БД) уже существует, но нет самой базы данных, команда восстановления будет выглядеть примерно так: /usr/pgsql-9.2/bin/pg_restore -e -j 8 -U root -W -d upp /root/files/upp-2013-11-20.pgdump Восстановление будет выполнено в 8 потоков (для ускорения процедуры, в документации pgsql рекомендуется использовать потоков не меньше, чем доступно ядер CPU) от имени пользователя root с интерактивным вводом пароля. Файл /mnt/arc/1C8/upp-2013-11-20-09-45-51.pgdump – […]

Read more

Управление торговлей, Бухгалтерия

Диалог позволяет осуществлять групповое проведение документов и восстановление последовательностей проведения документов. Открываем “1С:Підприємство” (в режиме предприятия)  – Операции – Проведение документов. Проведение документов На закладке “Проведение документов” осуществляется проведение выбранных документов в указанном интервале. Если Вы хотите чтобы какой – либо документ участвовал в проведение необходимо правой клавишей мыши поставить пометку слева от наименований таких документов. В нижней части закладки “Проведение документов”  задается интервал дат, в котором будут проводиться выбранные Нами документы. Для установки интервала следует ввести начальную и конечную дату, см. рис. представленный ниже: При необходимости проведения документов без ограничения по дате, необходимо установить флажок “Не ограничивать“ Также необходимо выбрать какие именно документы будут участвовать в проведении: ·        Проведенные ·        Непроведенные ·        Проведенные и непроведенные После установки всех необходимых параметров для выполнения проведения документов следует нажать кнопку “Выполнить”. Если проведение прошло успешно, будет выдано сообщение “Проведение документов завершено!”. Если Вы хотите выйти из режима проведения документов необходимо нажать на кнопку “Закрыть”. Восстановление последовательности На закладке “Восстановление последовательности” осуществляется восстановление последовательности проведения документов. В списке “Восстанавливать последовательности” выводится список всех существующих в конфигурации последовательностей. Те последовательности, которые должны быть восстановлены: слева от наименований таких последовательностей необходимо клавишами или мышью проставить отметку . В графе “Актуальна” для каждой последовательности выводится текущая позиция границы последовательности. Далее необходимо указать дату, до которой будет выполняться перепроведение документов. Также можно установить флажок  “Не ограничивать“, если требуется перепровести все документы. Для выполнения восстановления последовательностей необходимо нажать кнопку “Выполнить“. При этом система будет перепроводить все документы, относящиеся к выбранным последовательностям, начиная с позиции наиболее ранней границы из […]

Read more

Регистры сведений в языке “1С:Підприємство” (в примерах)

Регистры сведений Описание: Основная задача регистра сведений – хранить существенную для прикладной задачи информацию, состав которой развернут по определенной комбинации значений и, при необходимости, развернут во времени. Регистры сведений информация в которых развернута во времени, называются периодическими. Например, если мы хотим хранить информацию о ценах конкурентов на продаваемые нами товары, то собранная информация о ценах разворачивается по товарам и конкурентам. А если мы хотим отслеживать динамику изменений цен, и будем заносить их периодически, то хранимая информация разворачивается также и во времени. Регистр сведений, фактически, представляет собой массив данных, необходимый, чтобы реализовать функцию, которая может выдать необходимую информацию по определенному набору аргументов. Аргументы функции называются измерениями, а результат функции – ресурсами. В приведенном выше примере регистр “ЦеныКонкурентов” будет содержать измерения “Конкурент” и “Товар”, и ресурс “Цена”. Ресурсов может быть больше чем один: например, можно хранить оптовую и розничную цены. Для разворота этой информации во времени используется поле “Период” регистра. Оно не вносится в качестве измерения, а добавляется системой автоматически при создании периодического регистра. Для периодических регистров сведений система поддерживает такие стандартные операции, как получение наиболее позднего или наиболее раннего значения по определенной комбинации измерений (например, получение последней введенной цены по конкретному товару и конкретному конкуренту), а также получения среза наиболее поздних или ранних значений. Например, могут быть получены все последние введенные цены по различным товарам и конкурентам. Если регистр не периодический, то поле “Период” для него не создается. В приведенном примере регистр “ЦеныКонкурентов” может быть непериодическим, если мы не хотим хранить историю изменения цен, а хотим иметь только актуальные цены. Тогда […]

Read more
1 2 3 4