🏠: Viacheslav

Сегодняшний веловояж

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

Несмотря на вроде бы продолжающийся режим «самоизоляции», какие-то сложные инструкции по прогулкам и всякие обязательные ношения масок с перчатками — мало кто даже делает вид соблюдения всего этого. Люди устали от потока неадекватных указаний, алармизма и бесконечных новостей про одно и то же, и просто гуляют, а до них никто по этому поводу не домогается.

Освежив в памяти расположение основных дорожек Измайловского парка, который в любое время года совершенно прекрасен, я решил доехать до начала Перовской улицы. Сделав это, я немножко повернул на Электродную, где была какая-то промзона, и было удивительно видеть, что эта улица стала чистой, широкой и опрятной, по которой теперь можно ходить без какого-то неприятного чувства, как это было раньше.

Вернувшись на Перовскую, я осмелел и поехал вниз по улице Плющева, и в конце упёрся в огромную эстакаду Северо-восточной хорды, которой раньше не видел. Проехав параллельно хорде чуть дальше до Кусковской улицы, я уже точно не знал, куда мне направиться дальше, но тут я увидел пару на велосипедах, появившихся из подземного перехода через железнодорожные пути. «Раз оттуда вышли велосипедисты, значит, там должно быть всё в порядке, поеду-ка я туда да посмотрю», — подумал я и направился в переход.

В принципе, я обычно избегаю подобных мест и предпочитаю ездить по каким-то более обжитым цивильным местам. Но сейчас я с удивлением обнаружил, что и район хорды, и подземный переход, и дорога между станциями Перово и Чухлинка не выглядят как-то тревожно и отталкивающе, как это было раньше. Я лет 10 назад ходил между этими станциями, и было жутковато. Конечно, эти места остались хозяйственными угодьями, промзонами, но там подремонтировали, расчистили пространство, повесили табло, освещение, прибрали, и сейчас там чувствуешь себя вполне безопасно.

Те же положительные ощущения остались у меня и от Рязанского района, зажатого между одноимённым проспектом и железнодорожной веткой моего родного Казанского направления — там приятно находиться, несмотря на, казалось бы, такое неудачное расположение; довольно много зелени и нет этих отвратительных 25-этажных человейников, во всяком случае, пока.

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

Дальнейший путь был мне хорошо известен и без подсказок, но я решил разведать ещё одну дорогу, которую раньше высмотрел на Яндекс-картах — это переход через 6-й км. МКАД с улицы Реутовской на улицу Николая Старостина. Успешно преодолев этот переход, оказавшийся, вопреки ожиданиям, довольно многолюдным, я, дополнительно обогнув район Новокосино-2, поехал, наконец, домой, преодолев в общей сложности (по показанию счётчика) 44 км.

Пешие маршруты

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

Сначала я ходил по весьма разным маршрутам, но впоследствии основой стало кольцо Саянская улица — Свободный проспект — Зелёный проспект — улица Молостовых (зелёный контур), которое обросло некоторыми расширениями.

Ниже приведены их приблизительные характеристики.

  1. Зелёный контур (базовый маршрут) — 1 ч. 50 мин., 12400 шагов, 9,5 км.
  2. Синее расширение — 2 часа, 13800 шагов, 10,7 км.
  3. Оранжевое — 2,5 часа, 15800 шагов, 12,1 км. Последнее время это мой любимый путь, особенно сейчас, когда деревья зазеленели и зацвели.
  4. Красное расширение — 3 часа, 19400 шагов, 15 км. Хожу, когда есть время и настроение.

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

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

Oscar Peterson - A little jazz exercise

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

Открыли велосезон

Вчера привёл в порядок велосипеды, а сегодня с сыном открыли сезон. Погода чудесная, солнечно и тепло. Сначала планировали поехать на Фабричный пруд, но там закрыто напрочь, тогда решили объехать вокруг Новокосина.

Покачались на скрипучих качелях около Суздальского пруда, побывали в Салтыковском парке, где видели и слышали дятлов, долбящих сухие деревья, уже проснулись шмели. Скоро зазеленеет, и должно стать ещё лучше. Катались часа два, может, чуть больше.

Реально проехали 17,5 км

Что сделал - 6

Скрипт синхронизации данных из базы Microsoft SQL в Active Directory

Во многих компаниях существуют сервисы, дублирующие друг друга — это происходит отчасти из-за незнания о существовании уже имеющихся инструментов или неумения их настраивать, отчасти из-за сложных взаимоотношений или плохой координации между подразделениями, а отчасти из-за конъюнктурных стремлений различных начальников. К примеру, не раз я встречал разные реализации внутренних телефонных справочников, которые не связаны с Active Directory, хотя логично было бы всю первичную информацию держать именно там, и вся информация была бы доступна через адресную книгу Outlook, или, в крайнем случае, веб-версию справочника формировать из запросов в AD. Нет, так просто нельзя — в моей нынешней конторе телефонный справочник представляет собой отдельный сервис, причём разделённый на два сервера — древняя писанная на коленке веб-морда, которая крутится на Ubuntu 14.04, и база данных, которая работает — это радует отдельно в данной ситуации — на Microsoft SQL.

Данные в этот справочник заносятся вручную, причём бессистемно — телефоны могут быть написаны и 8-495-123, и 8 (495) 123, и ещё как бог на душу положит, а сотрудники, совмещающие несколько должностей, могут быть прописаны несколько раз, причём, у одной инкарнации телефоны и кабинет могут быть прописаны, а у другой — нет. И везде куча ошибок, пропуск пробелов и т. п.

На всё вышеперечисленное безобразие я никак повлиять не могу, однако, хотелось бы иметь актуальные телефоны в Active Directory, которой я управляю. Для этого я написал скрипт синхронизации данных из базы Microsoft SQL в Active Directory. Делается выгрузка из базы (Invoke-Sqlcmd) и из AD, затем для каждого пользователя базы ищется аналог в выгрузке AD, и при несовпадении значений полей они либо меняются, либо удаляются, отчёт по результатам изменений высылается в почту. У дублирующихся пользователей в базе данных информация берётся только из самого свежесозданного по ID.

Конечно, телефоны и прочую информацию я по возможности пытаюсь причёсывать, вот, например, строка обработки телефонных номеров из базы:

@{n='tel';e={($_.tel -split ',').trim() -replace "^49","+7 49" -replace "\)",') ' `
-replace "\s+",' ' -replace '^-$' -replace "^\(|^8 \(","+7 " -replace "\)" `
-replace "123045","123-45" -join ', '}},

Переделал отчёт по несмонтированным дискам Hyper-V в полноценный отчёт по Hyper-V в целом

Отчёт включает в себя:

  1. Таблицу по виртуальным машинам — имя машины, выделенная память, кол-во процессоров, состояние, хост, кластеризована или нет, версия конфигурации. В конце статистика, типа «Всего виртуальных машин 55, общий объём памяти 363 ГБ, всего виртуальных процессоров 134, включено машин 40, выключено 15, в ином статусе 0.»
  2. Таблицу по смонтированным дискам, в конце статистика.
  3. Таблицу по несмонтированным дискам, в конце статистика.

Сбор информации о состоянии жёстких дисков с пользовательских машин

Минимальную информацию об этом может давать и Windows, но хотелось сделать красиво, для этого я привлёк программу DiskSmartView, которая умеет выгружать отчёты в форматах CSV и HTML.

Пользовательские машины не могут пересылать письма через почтовый сервер без авторизации, так что велосипед пришлось усложнить и разбить его на два этапа — одна часть выполняется на локальной машине, а вторая — на сервере.

Локальная часть делает следующее: скрипт запускается после загрузки компьютера, смотрит во временный каталог, и если последний отчёт не старше недели, прерывает работу. Если отчёта нет или он старше, запускает DiskSmartView и делает отчёт во временный каталог в формате CSV, затем проверяет, есть ли в колонке статуса значения, отличные от «OK», «неизвестно» или пустых. Если нет, то работа завершается, а если да, то отчёт делается ещё раз, но уже в общий каталог на сервере и в формате HTML. Потом этот HTML открывается, оттуда выкидывается всё ненужное и вставляется имя компьютера и время составления отчёта. На этом локальная часть исчерпывается.

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

Ниже — пример содержимого письма с отчётом. Диски здесь в полном порядке, это просто иллюстрация, в боевых условиях таких отчётов не присылается.

Уже опубликовал этот текст, как вспомнил ещё про один

Cкрипт, связанный с массовым переходом сотрудников на удалённую работу

Суть его в том, что он запускается при загрузке компьютера, ищет в AD пользователя, ФИО которого прописано в описании компьютера, и если находит, прописывает его в локальную группу «Пользователи удалённого рабочего стола», включает RDP через реестр, через реестр же отключает «проверку подлинности сети», прописывает правило файрволла под названием «Allow RDP COVID-2019», а потом по результатам — что было сделано — пишет отчёт в общий каталог на сервере.

Время;ФИО;Логин;Компьютер;Добавлен в группу;RDP;NLA;Правило файрволла
2020.03.25 15:05:55;Королёва Ирина Витальевна;koroleva;PC1384;Да;Включено;Отключено;Создано

Почему такой костыль — во-первых, чтобы можно было, используя статистику, откатить изменения, сделанные на пользовательских машинах, а во-вторых, когда возникла необходимость настраивать массовый удалённый доступ, обнаружилось, что групповые политики домена, касающиеся RDP, которые на протяжении ряда лет никто не трогал, были настроены чёрт-те как, и после того, как народ вернётся на рабочие места, надо будет привести всё это в нормальное контролируемое и понятное состояние.