Скрипт установки и обновления платформы 1С

Обзор

В этой статье мы рассмотрим PowerShell скрипт, который автоматизирует установку и настройку платформы 1С. Скрипт позволяет быстро и безошибочно установить необходимые компоненты и настроить параметры, указанные в конфигурационном файле.

Основные функции скрипта

  1. Проверка конфигурационного файла и среды выполнения.
  2. Проверка текущей установленной версии платформы 1С.
  3. Установка или пропуск установки в зависимости от установленной версии.
  4. Копирование необходимых конфигурационных файлов (например, hasp.ini).
  5. Регистрация компонента comcntr.dll.

Требования

  • Операционная система Windows.
  • PowerShell версии 5.1 или выше.
  • Права администратора.

Шаги установки

  1. Убедитесь, что конфигурационный файл (PlatformInstall.ini) доступен.
  2. Сохраните скрипт и конфигурационный файл в безопасную директорию.
  3. Запустите скрипт с правами администратора:PowerShell
  4. .\PlatformInstall.ps1

Конфигурационный файл (PlatformInstall.ini)

Скрипт использует конфигурационный файл для определения параметров установки. Пример конфигурации: INI

[INSTALL]DistrDir=\\Server\Scripts\bin\
ProductCode={B26B9BD7-DA36-6A6B-9729-A559619283F6}
ProductVersion=8.3.25.1445UpgradeCode={76AA2121-1E8C-4993-B980-49916CA2387C}
MsiPackage=1CEnterprise 8 (x86-64).msi
MsiOptions=THICKCLIENT=1 THINCLIENT=1 WEBSERVER=0 SERVER=0 CONFREPOSSERVER=0 CONVERTER77=0 SERVERCLIENT=1 LANGUAGES=RU
HaspIni=\\Server\Scripts\nethasp.ini

Обязательные поля

  • DistrDir: Директория, содержащая установочные файлы.
  • ProductCode: GUID продукта.
  • ProductVersion: Версия платформы для установки.
  • MsiPackage: Название MSI пакета.
  • MsiOptions: Опции, передаваемые MSI установщику.
  • HaspIni: Путь к файлу hasp.ini.

Особенности скрипта

Логирование

Скрипт записывает сообщения со следующими уровнями:

  • INFO: Общий прогресс и шаги.
  • ERROR: Проблемы, вызывающие завершение скрипта.

Основные функции

  • Log-Event: Записывает сообщения с указанным уровнем.
  • Catch-Error: Обрабатывает и записывает ошибки, затем завершает скрипт.
  • Get-IniContent: Анализирует конфигурационный файл и возвращает его содержимое в виде словаря.
  • Get-InstalledVersion: Получает текущую установленную версию платформы 1С из реестра Windows.
  • Copy-HaspIni: Копирует файл hasp.ini в соответствующую директорию (C:\Program Files\1cv8\conf или эквивалент).
  • Register-ComCntrDll: Регистрирует файл comcntr.dll из директории bin установленной платформы.

Последовательность выполнения

  1. Скрипт читает и проверяет конфигурационный файл.
  2. Проверяет установленную версию платформы:
    • Если установленная версия новее или равна целевой версии, скрипт пропускает установку.
    • В противном случае продолжает установку.
  3. Скрипт устанавливает MSI пакет, используя параметры, указанные в конфигурационном файле.
  4. Копирует файл hasp.ini в требуемую директорию.
  5. Скрипт регистрирует компонент comcntr.dll.

Примеры использования

Запустите скрипт или разместите в групповой политике на событие Startup для установки или обновления платформы:

.\PlatformInstall.ps1

Устранение неполадок

  • Конфигурационный файл не найден: Убедитесь, что путь к PlatformInstall.ini правильный.
  • HASP.INI не найден: Проверьте, существует ли файл по указанному пути.
  • Не удалось зарегистрировать DLL: Убедитесь, что файл comcntr.dll существует в директории bin.

GitHub

Рубрика: , DevOps, Microsoft, Windows, Windows Server | Метки: , , , | Оставить комментарий

Шаблон для мониторинга Proxmox Mail Gateway

Готовый шаблон для мониторинга Proxmox Mail Gateway с помощью пассивного Zabbix Agent. Предположу, что унифицирован, так как отслеживает базовые службы решения.

Протестировано на Zabbix 7.2 и PMG 8.1

Для работы в конфигурации агента требуется добавить код ниже:

UserParameter=mail.queuesize,/usr/sbin/postqueue -p | tail -n 1 | awk '{ if ($5 == "") print "0"; else print $5; }'
UserParameter=postfix.status,systemctl is-active postfix | grep -q "active" && echo 1 || echo 0
UserParameter=pmg.cpu.usage,top -b -n 1 | grep "Cpu(s)" | awk '{print $2 + $4}'
UserParameter=pmg.mem.usage,free | grep Mem | awk '{print $3/$2 * 100.0}'
UserParameter=pmg.disk.usage,df / | tail -1 | awk '{print $5}' | sed 's/%//'

GitHub

Рубрика: Linux, Proxmox, Zabbix | Метки: , , , | Оставить комментарий

Как конвертировать PFX сертификат в CRT и KEY

В мире онлайн-безопасности и шифрования цифровые сертификаты играют ключевую роль в установлении безопасных соединений и обеспечении целостности данных. Одним из форматов сертификатов является PKCS#12 файл (PFX или P12), который объединяет сертификат и соответствующий приватный ключ в один зашифрованный файл, что удобно для хранения и передачи. Однако иногда возникает необходимость извлечь отдельные компоненты сертификата и приватного ключа из PFX файла, например, для настройки веб серверов, установки защищенных каналов связи или устранения проблем с SSL/TLS соединениями. В этом руководстве мы рассмотрим процесс конвертации PFX файла в составляющие его части — сертификат и приватный ключ — используя инструмент OpenSSL.

Необходимые условия

  • Установленный OpenSSL.
  • PFX файл, содержащий сертификат и приватный ключ.
  • Пароль для защиты PFX файла.

Процесс конвертации

  1. Извлечение сертификата
openssl pkcs12 -in certificate2024.pfx -clcerts -nokeys -out exemple_com.crt

Эта команда извлекает сертификат из PFX файла, сохраняя его в файл exemple_com.crt.

  1. Извлечение приватного ключа
openssl pkcs12 -in certificate2024.pfx -nocerts -out server.key
openssl rsa -in server.key -out my.key

Первая команда извлекает зашифрованный приватный ключ в файл server.key, а вторая команда расшифровывает его, сохраняя в файл my.key.

После успешного выполнения этих команд у вас будут два новых файла: exemple_com.crt с сертификатом и my.key с расшифрованным приватным ключом. Эти файлы можно импортировать на ваш веб сервер для настройки SSL/TLS соединений.

Заключение

Конвертация PFX сертификата в CRT и KEY позволяет более гибко управлять вашими цифровыми сертификатами и приватными ключами, обеспечивая безопасность ваших данных и коммуникаций. Помните о важности безопасного хранения и использования этих файлов, а также о необходимости регулярного обновления сертификатов для поддержания высокого уровня безопасности.

Рубрика: Quick Tip | Метки: , , , | Оставить комментарий

Конфигурирование Right To Use на оборудовании Cisco

Чтобы использовать Right To Use (RTU) лицензию на коммутаторах или маршрутизаторах Cisco, выполните следующие шаги:

Активируйте нужную лицензию:

Введите команду license right-to-use activate {ipbase | ipservices | lanbase} {all | evaluation all} [slot slot-number] [acceptEULA] для активации нужной вам лицензии. Например, чтобы активировать лицензию IP Services для всех слотов, введите license right-to-use activate ipservices all acceptEULA.

Перезагрузите устройство:

После активации лицензии перезагрузите устройство или линию карты с помощью команды reload [LINE | at | cancel | in | slot stack-member-number | standby-cpu]. Например, для перезагрузки второго слота введите reload slot 2.

После перезагрузки проверьте статус лицензий с помощью команды show license right-to-use summary. Это покажет, какие лицензии были активированы и их состояние.

Cisco Doc | LearnDuty

Рубрика: Cisco, Hardware, Quick Tip | Метки: , , | Оставить комментарий

Интеграция 3CX и Cisco Communication Manager

Задача

Организация двустороннего транка между Cisco CM и 3CX с прозрачной передачей номеров вызывающего и вызываемого посредством промежуточного шлюза (Cisco ISR с функционалом CME/UBE).

Агенда

10001 — Bridge number/id in 3CX

1xxx — Dial plan in Cisco UCM

2xxx — Dial plan 3CX system

10.0.1.2 — Voice router / gateway

10.0.2.2 — Cisco UCM

10.0.3.2 — 3CX

Проверено на Cisco ISR 2921, SW: «c2900-universalk9-mz.SPA.157-3.M8.bin«

Пример конфигурации

!
class-map match-any voip-med
 match protocol rtp
class-map match-any voip-sig
 match protocol sip
!
policy-map policy-voip
 class voip-med
  set dscp ef
 class voip-sig
  set dscp af41
!

!
interface FastEthernet0/0
 description VoIP Network
 ip address 10.0.1.2 255.255.255.0
 service-policy output policy-voip
!

!
voice service voip
 ip address trusted list
  ipv4 10.0.2.2 255.255.255.255
  ipv4 10.0.3.2 255.255.255.255
 srtp fallback
 allow-connections sip to sip
 supplementary-service h450.12
 no supplementary-service sip moved-temporarily
 supplementary-service media-renegotiate
 redirect ip2ip
 signaling forward none
 sip
  min-se 600 session-expires 600
  header-passing
  error-passthru
  registrar server
  asserted-id pai
  history-info
  midcall-signaling passthru
  privacy-policy passthru
  privacy-policy send-always
!
voice class codec 1
 codec preference 1 g722-64
 codec preference 2 g711alaw
 codec preference 3 g711ulaw
 codec preference 4 g729r8
!

!
voice class sip-profiles 1
 request INVITE sip-header From modify "sip:....@10.0.1.2" "sip:10001@10.0.1.2"
 request INVITE sip-header Contact modify "sip:....@10.0.1.2" "sip:10001@10.0.1.2"
!

!
dial-peer voice 1000 voip
 description = CUCM =
 destination-pattern ^1...
 rtp payload-type comfort-noise 13
 session protocol sipv2
 session target ipv4:10.0.2.2
 incoming called-number .T
 voice-class codec 1
 no voice-class sip early-offer forced
 voice-class sip options-keepalive
 voice-class sip pass-thru content sdp
 dtmf-relay rtp-nte
 ip qos dscp cs3 signaling
 no vad
!

!
dial-peer voice 2000 voip
 description = 3CX =
 destination-pattern ^2...
 rtp payload-type comfort-noise 13
 session protocol sipv2
 session target ipv4:10.0.3.2
 incoming called-number .T
 voice-class codec 1
 no voice-class sip asserted-id
 no voice-class sip early-offer forced
 voice-class sip profiles 1
 voice-class sip options-keepalive
 voice-class sip pass-thru content sdp
 dtmf-relay rtp-nte
 ip qos dscp cs3 signaling
 no vad
!

!
sip-ua
 credentials username 10001 password 123P realm 3CXPhoneSystem
 authentication username 10001 password 123P realm 3CXPhoneSystem
 timers connect 1000
 timers register 300
 registrar 1 ipv4:10.0.3.2 expires 3600
!
Параметры моста на 3CX

Note: GitHub Gist

Рубрика: 3CX, Cisco, Hardware, Software, UC | Метки: , , | Оставить комментарий

Сброс настроек телефонов Snom

Для моделей D3xx/D7xx/7xx/MP

  1. Нажмите **## для перезагрузки телефона (или выключите/включите его).
  2. Нажмите и удерживайте нажатой клавишу # (сразу после включения), до входа телефона в режима спасения («Rescue Mode»).
  3. Выберете желаемый вариант сброса: 1 — сброс настроек, 2 — восстановление через сеть.
Reset Snom Phone

Информация производителя: 3CX / Snom

Рубрика: Hardware, Quick Tip, Snom, UC | Метки: , | Оставить комментарий

Как использовать прокси в CentOS

[root@client ~]#

vi /etc/profile.d/proxy.sh

# создаём новый файл настроек прокси общий для всей системы

MY_PROXY_URL="http[s]://prox.srv.world:3128/"

HTTP_PROXY=$MY_PROXY_URL
HTTPS_PROXY=$MY_PROXY_URL
FTP_PROXY=$MY_PROXY_URL

http_proxy=$MY_PROXY_URL
https_proxy=$MY_PROXY_URL
ftp_proxy=$MY_PROXY_URL

export HTTP_PROXY HTTPS_PROXY FTP_PROXY http_proxy https_proxy ftp_proxy

[root@client ~]#

source /etc/profile.d/proxy.sh

# далее создаём индивидуальные настройки , начинаем с dnf / yum

[root@client ~]#

vi /etc/dnf/dnf.conf

# добавляем в конец фала

proxy=prox.srv.world:3128

# для приложения curl

[root@client ~]#

vi ~/.curlrc

# создаем новый файл настроек или изменяем существующий

proxy=prox.srv.world:3128

# для приложения wget

[root@client ~]#

vi /etc/wgetrc

# добавляем в конец фала или редактируем закомментированные строки

http_proxy = prox.srv.world:3128
https_proxy = prox.srv.world:3128
ftp_proxy = prox.srv.world:3128

[root@client ~]#

curl http://icanhazip.com
wget -O — -q http://icanhazip.com

Последними командами смотрим внешний IP адрес запрашивающий ресурс.

Формат прокси должен содержать протокол, например:
http://1.2.3.4:3128/ или https://1.2.3.4:3128/

Рубрика: CentOS, Linux, Quick Tip, RedHat | Метки: | Оставить комментарий

Многофакторная авторизация Azure в среде Cisco и FortiGate

… информация о решении Azure MFA доступна по ссылке

Схема взаимодействия внутри системы Cisco ISE и Azure MFA

Параметр времени ожидания ответа RADIUS сервера устройством FortiGate

Рубрика: Azure, Cisco, Fortinet, Microsoft, Office 365, Security | Метки: , , , , , , , , , , | Оставить комментарий

Интеграция WebEx с Microsoft OneDrive и SharePoint Online

Этап первый — настройка на стороне управления сервисом (Control Hub)

Ключевой момент, так как инструкцию самостоятельно по нему найти не смог, но если функционал отключен, то и в интеграциях клиента он не появится 🙂

Настройки управления контентом Control Hub / Services / Messaging
Настройки управления контентом Services / Messaging / CM
Настройки управления контентом Services / Messaging / CM / Settings

Этап второй — настройка на стороне клиента (WebEx)

Пошаговая инструкция от вендора и ключевые точки (ниже):

Управление интеграциями в приложении WebEx
Выбор сервиса для интеграции с приложением WebEx
Как добавить файл из OneDrive / SharePoint Online

Рубрика: Cisco, Microsoft, Office 365, UC, WebEx | Метки: , , | Оставить комментарий

Cisco Identity Services Engine 3.0

Cisco ISE 3.0 Login Page

Вышел Cisco ISE 3.0, подробности о новинке здесь. Обновление согласно инструкции от производителя прошло гладко и без запинок. Политики (RADIUS, Tacacs+) и сетевые устройства перенеслись, pxGrid подписчики информацию получают (FortiManger и Cisco Stealthwatch). Смотрим, изучаем — подробности позже.

Рубрика: Cisco, Fortinet | Метки: , , , | Оставить комментарий