SCROLL

Небольшая шпаргалка, на случай если нужно выполнить какие либо действия только с папка или только с файлами в каталоге и его подкаталогах.

В работе имеется связка Asterisk 16.3.0 + FreePBX 14.0.11 и два SIP-провайдера. Задался вопросом как модифицировать/изменить номер телефона (CallerID) при входящем звонке, устанавливая префикс 8 в любом случае. Мне нужно это для удобства обратного набора, на поступивший внешний звонок.

 

В моем случае один SIP-провайдер отдает номер телефона с префиксом 7, прим. 7800-800-80-80 (7XXXXXXXXXX), а другой вообще без префикса, прим. 800-800-80-80.

Чтобы исправить это, нам  необходимо немного модифицировать dialplan, внеся в файл конфигурации /etc/asterisk/extensions_custom.conf следующий код:

[from-pstn-custom]
exten => _X.,1,ExecIF($[${VALID_EXTEN(fix-cid,${CALLERID(num)})}]?Gosub(fix-cid,${CALLERID(num)},1))

[fix-cid]
; Входящий номер с кодом 7
exten => _7XXXXXXXXXX,1,Set(CALLERID(num)=8${CALLERID(num):1})
exten => _7XXXXXXXXXX,n,Return()

; Входящий номер без кода страны
exten => _XXXXXXXXXX,1,Set(CALLERID(num)=8${CALLERID(num)})
exten => _XXXXXXXXXX,n,Return()

Для простого и удобного мониторинга сетевых принтеров, была написана программа «Мониторинг состояния картриджей в принтерах». Данная программа имела ряд изъянов в функциональном плане, о чём свидетельствуют комментарии в статье к программе.

 

Учитывая тот факт, что программа так или иначе используется не только мной, после долгих обещаний пользователям, всё-таки было найдено время и программа переписана с нуля. Теперь она позиционируется не только как опросник сетевых принтеров, но, в принципе и как опросник любых устройств поддерживающих протокол SNMP.

 

На данный момент выпущена тестовая версия, которая в целом уже функционирует, но необходим feedback реальных пользователей о наличии проблем в программе и расширению её функционала.

 

Время от времени, на работе сталкиваюсь с просьбами от коллег в помощи изменении информации о дате и времени создания файла. Поэтому для пользователей написал простую утилитку по смене сведений в файле о «Создании», «Изменении» и последнего «Доступа» к нему.

Принцип работы утилиты прост, как рубль двадцать — открываем необходимый файл (Open File), выставляем требуемую дату и время, отмечает галочками интересующие нас пункты и нажимаем «Change timestamp«:

Скачать “Timestamp Changer” chg_timestamp_v.1.0.0.2.zip – Загружено 518 раз – 664,82 КБ

На блейд-сервер Dell PowerEdge M620 входящий в состав шасси VRTX, установил VMware ESXi 6.5. После установки в vSphere не обнаружились не одного дискового хранилища, которые имеются в шасси VRTX.

 

Проблема заключается в отсутствие необходимого драйвера для контроллера Shared PERC 8 Mini. Для решения проблемы, нужно всего навсего уставить отсутствующий драйвер в систему VMware ESXi 6.5

 

Скачиваем драйвер:

Скачать “VMW-ESX-6.5.0-dell_shared_perc8-06.806.90.00-6990897.zip” VMW-ESX-6.5.0-dell_shared_perc8-06.806.90.00-6990897.zip – Загружено 872 раза – 191,64 КБ

[stextbox id=’warning’]Либо с официального сайта VMWare, в случае если имеется учетная запись там.[/stextbox]

 

Копируем из скачанного архива VIB (dell-shared-perc8-06.806.90.00-1OEM.650.0.0.4598673.x86_64.vib) или автономный пакет (VMW-ESX-6.5.0-dell_shared_perc8-06.806.90.00-offline_bundle-6990897.zip) на сервер VMware ESXi в папку (/tmp). Для примера как это можно сделать, посмотрите статью

Не редко случается когда после заведения нового пользователя в Exchange, остальные пользователи жалуются что они не могут найти нового в своей адресной книге Outlook. Это случается потому что Автономная адресная книга (OAB) обновляется в течении суток и поэтому новый пользователь и не появляется в адресной книге у других пользователей.

 

Рассмотрим как принудительно обновить автономную адресную книгу (OAB) на Exchange 2010 SP3.

 

Заходим в Консоль управления Exchange — Конфигурация организации — Почтовый ящик — Автономная адресная книга. Обновляем Автономную адресную книгу (OAB):

Или через консоль Exchange:

Get-OfflineAddressBook | Update-OfflineAddressBook

Обратил внимание что не обновляется автономная адресная книга в Exchange 2010 SP3.

SSH (Secure Shell) — это сетевой протокол для удалённого управления операционной системой с помощью командной строки и передачи данных в зашифрованном виде.

В почтовом сервере Exchange 2010 при запуске тестовых команд, таких как Test-OutlookWebServices или Test-EcpConnectivity, требуется учетная запись Exchange Test.

 

Создается при помощи скрипта New-TestCasConnectivityUser.ps1 из каталога скриптов Exchange 2010 C:\Program Files\Microsoft\Exchange Server\V14\Scripts.

 

При попытке выполнить скрипт New-TestCasConnectivityUser.ps1, я получил ошибку Mailbox could not be created. Verify that OU ( Users ) exists and that password meets complexity requi rements., которая означает, что не может быть найден OU Users, либо бы заданный пароль не соответствует требованиям сложности:

[PS] C:\Program Files\Microsoft\Exchange Server\V14\scripts>.\new-TestCasConnectivityUser.ps1

Введите временный безопасный пароль для создания тестовых пользователей. Если установлен диспетчер SCOM, в целях обеспе
чения безопасности будет регулярно производиться автоматическое изменение пароля. Если диспетчер SCOM не установлен, па
роль необходимо изменять вручную.
Ввести пароль: **********
Создать тестовых пользователей: CAS1.domain.local
Нажмите сочетание клавиш CTRL+Break для выхода или клавишу ВВОД для продолжения.:
CreateTestUser : Mailbox could not be created. Verify that OU ( Users ) exists and that password meets complexity requi
rements.
C:\Program Files\Microsoft\Exchange Server\V14\scripts\new-TestCasConnectivityUser.ps1:267 знак:31
+ $result = CreateTestUser <<<< $exchangeServer $mailboxServer $securePassword $OrganizationalUnit $UMDialPlan $
UMExtension $Prompt
+ CategoryInfo : NotSpecified: (:) [Write-Error], WriteErrorException
+ FullyQualifiedErrorId : Microsoft.PowerShell.Commands.WriteErrorException,CreateTestUser

 

Столкнулся с проблемой доступа из локальной сети к развернутому экземпляру MSSQL Server Express. Рассмотрим как настроить доступ к экземпляру SQL.

 

Запускаем SQL Server Configuration Manager. Переходим в Сетевая конфигурация SQL Server - Протоколы для SQLEXPRESS (где SQLEXPRESS — имя экземпляра SQL Server).

 

Включаем протокол TCP/IP и переходим в его свойства, во вкладку IP-адреса. Опускаемся к пункту IPAll. Удаляем значение в поле TCP Dynamic Ports, оставляем поле пустым, а в TCP Port пишем 1433:

Случилось так что появилась необходимость переименовать компьютер на котором развернут MSSQL Server. Рассмотрим как выполнить эту процедуру корректно.

Частенько сталкиваюсь с необходимостью конвертирования сертификата .crt, .ca-bundle в формат PFX. И каждый раз пытаюсь вспомнить как это сделать в Linux посредством OPENSSL.

 

Ниже представленной командой можно легко выполнить конвертацию:

openssl pkcs12 -export -out doman_com.pfx -inkey doman_com.key -in doman_com.crt -certfile doman_com.ca-bundle

[stextbox id=’warning’]

.pfx — это выходной файл PFX
.key — это файл ключа, используемый для создания запроса (CSR)
.crt — это файл сертификата (CRT, PEM), полученный от центра сертификации
.ca-bundle — это сертификат от центра сертификации, который мы конвертируем в PFX

[/stextbox]

Используя утилиту SMSTOOLS3 (развернутую по этой статье) для отправки/приема SMS сообщений, я столкнулся со сложностью отправки SMS сообщений с разных подключенных GSM модемов.

На системных дисках пользовательских ПК, закончилось место. В ходе анализа куда пропало свободное место, обнаружилось что все свободное место было занято, большим количеством файлов cab_xxxx в папке C:\Windows\Temp. Если удалить их, то через какое то время они снова там появляются и съедают все свободное место на диске.

Недавно столкнулся с интересной проблемой при отправке сообщения на внешний e-mail из OTRS (Open-source Ticket Request System) при использовании почтового сервера на базе MS Exchange 2010 SP3.

Однажды при попытке посмотреть какие «Виртуальные хосты» сейчас активны на Веб-сервере apache, я получил следующие ошибки в выводе:

В очередной раз после миграции ВМ Debian Linux с одного хоста VMWare на другой, при загрузке системы наблюдал множественные ошибки:

blk_update_request: I/O error, dev fd0, sector 0
hv_vmbus: probe failed for device vmbus_10 (-19)

 

Ошибка связана с попытками подключить Floppy дисковод, который в ВМ отсутствует. Решается все довольно просто, путем отключения драйвера Floppy в системе.

 

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

echo "blacklist floppy" | sudo tee /etc/modprobe.d/blacklist-floppy.conf
sudo rmmod floppy
sudo update-initramfs -u

 

Для применения изменений перезагружаем систему.

Задался недавно вопросом, как можно из консоли Linux, подключится к удаленной машине с ОС Windows на борту и выполнить на ней какую либо команду (прим. «ipconfig») или запустить за ранее написанный скрипт (*.bat, *.ps1).

 

В ходе поиска решения данного вопроса, был найден инструмент Winexe, который по сути является аналогом psexec под Windows. Winexe работает в связке с Samba, поэтому последняя должна присутствовать в системе.

 

Из замеченных неудобств работы с Winexe, хочу отметить что для корректного отображения «кириллицы», необходимо конвертировать вывод в UTF-8 из cp866/cp1251. Так же в случае запуска на удаленной машине «cmd», «powershell» не работают клавиши курсора, «backspace» и возможен задвоенный ввод символов.

 

Установка будет производится на Debian 9 Stretch. В ходе установки будет использоваться Fork пакета Winexe 1.1 (https://sourceforge.net/u/mstowe/winexe/ci/v0.2/tree/), а так же версия Samba 4.5.16 из стандартные репозиториев Debian.

Рассмотрим как установить из исходников актуальную (на момент написания статьи) версию кеширующего прокси-сервера Squid 4.6 на Debian 9 Stretch.

[stextbox id=’info’]ИНФОРМАЦИЯ. Хочу сообщить что ниже описанное руководство, так же применимо к установке версии Squid 4.9.[/stextbox]

 

Подготовка системы

Обновляем систему до актуального состояния:

apt-get update && apt-get upgrade

Устанавливаем необходимые пакеты для сборки и работы squid:

apt-get install autoconf automake autopoint autotools-dev binutils build-essential cdbs comerr-dev cpp cpp-6 debhelper dh-autoreconf dh-strip-nondeterminism dpkg-dev g++ g++-6 gcc gcc-6 gettext icu-devtools intltool-debian krb5-multidev libarchive-zip-perl libasan3 libatomic1 libc-dev-bin libc6-dev libcap-dev libcc1-0 libcilkrts5 libcppunit-1.13-0v5 libcppunit-dev libcroco3 libdb-dev libdb5.3-dev libdpkg-perl libecap3 libecap3-dev libexpat1-dev libfile-stripnondeterminism-perl libgcc-6-dev libgmp-dev libgmpxx4ldbl libgnutls-dane0 libgnutls-openssl27 libssl-dev libgnutls28-dev libgnutlsxx28 libgomp1 libgssrpc4 libicu-dev libidn11-dev libisl15 libitm1 libkadm5clnt-mit11 libkadm5srv-mit11 libkdb5-8 libkrb5-dev libldap2-dev liblsan0 libltdl-dev libltdl7 libmpc3 libmpfr4 libmpx2 libnetfilter-conntrack-dev libnfnetlink-dev libp11-kit-dev libpam0g-dev libquadmath0 libsasl2-dev libsigsegv2 libstdc++-6-dev libtasn1-6-dev libtimedate-perl libtool libtsan0 libubsan0 libunbound2 libxml2-dev linux-libc-dev m4 make nettle-dev patch pkg-config po-debconf zlib1g-dev

 

Установка прокси-сервера Squid

Скачиваем исходник «squid», распаковываем его:

cd /opt/
wget http://www.squid-cache.org/Versions/v4/squid-4.6.tar.gz
tar -zxvf squid-4.6.tar.gz 
cd squid-4.6