• ↓
  • ↑
  • ⇑
 
01:30 

Powershell - Complete Printers Info

В Dash'e под Chronostasis'ом.

Бессонные ночи того стоили. Однозначно (с)
Хотя нет. Бессонные ночи - это автоматизация настройки принтеров на DHCP и принт-серверах, и это только часть общего дела. Есть и другая часть, не менее муторная, если не более - учет этих самых принтеров. И ведется он, как бы так помягче сказать - из рук вон плохо. Поскольку в Excel-файлы, хранящие в себе сведения по разным офисам данные о добавленных или убранных принтерах вносит куча народа, неизбежны ошибки. А кто-то вообще забудет это сделать. Чего уж там, скорее всего и я в этих файликах тоже косячил.

И в итоге вся отчетность плывет.

Отныне это должно измениться, потому что вся отчетность будет создаваться автоматом на основе реальных данных DHCP и PS: сценарий сформирует сводный csv-файл с кучей информации по резервированным адресам на DHCP серверах и принт-серверах, а сделанная и сохраненная excel-таблица (роль которой - сугубо удобное представление данных) будет кормиться как раз из полученного csv.

Но прежде, чем переходить к самому скрипту, хотелось бы положить в запись ссылку на следующую страницу:

Join-Object - Technet

Скрипт Join-Object фактически реализует такие интереснейшие вещи из мира баз данных, как Join'ы. Именно FULL JOIN позволит нам связать сведения от DHCP-серверов и серверов печати. Прекраснейший скрипт, за который огромное спасибо ребятам из команды MS Powershell. Ну а подключить его к основному сценарию достаточно просто - через dot-source - прямо в первой строке нашего сценария. Что ж, поехали:

Окинув взглядом получившуюся в Excel мега-таблицу увидел в ней сто-о-о-о-о-олько интересного! :)

@музыка: Mark Farina - Sexy Fire (Factory Boom Boom Mix)

@настроение: Overall progress - 50% - nice!

@темы: Scripting, PowerShell

21:41 

Dishonored - completed

В Dash'e под Chronostasis'ом.
It's done. Full stealth, pacifist, low chaos как следствие pacifist-забега.

Пока не знаю, буду ли пробовать Mostly flesh and steel, он же Factory-zero run (прохождение без скиллов за исключением базового blink - его по-любому дают). Скорее всего буду, но позже. Надо чуть передохнуть.
Ну и да, теперь можно спокойно ждать выхода второй части :)

@музыка: Sandra - Everlasting love

@настроение: Хо-ро-шо!

@темы: In-game

14:35 

Powershell - Continue

В Dash'e под Chronostasis'ом.

Однако, здравствуйте. Оказалось, что оператор Continue, который должен переходить к следующей итерации цикла, внутри которого он вызван, не работает в некоторых случаях. Вот пример:

Суть кода - в switch проверяется значение переменной $i. Если оно равно 8, пишется предупреждение, вызывается оператор Continue, и скрипт переходит к итерации под номером 9. Во всех остальных случаях switch не делает ничего, и сценарий выполняет следующую за switch инструкцию "напиши мне значение переменной $i. А вот что мы получаем на самом деле:

С другой стороны, исправь мы код совсем чуть-чуть, получим ровно то, что требовалось:

Получается, что continue тоже считает switch за цикл? Это засада.

@музыка: Sandra - Hi! Hi! Hi!

@темы: PowerShell, Scripting

11:59 

Overclockers.ru

В Dash'e под Chronostasis'ом.
It's over.

@темы: Этот безумный мир

15:52 

Пить или не пить.

В Dash'e под Chronostasis'ом.
Вот оно! Отныне и навсегда, любой, кто спросит меня, "почему ты не употребляешь", вместо объяснений будет получать ссылку на это видео!

@настроение: !!!

@темы: Этот веселый мир

22:21 

Dishonored #2

В Dash'e под Chronostasis'ом.
Нет, нисколько не пожалел о покупке. Отличная игра, пусть еще и не пройдена до конца. Да пофиг и на тот факт, что мне придется заново начать, ибо главная цель - достижение Clean Hands (вообще без убийств) уже завалено. Какие там вещи народ вытворяет!

Как говорится, кролики - это не только ценный мех, а приключения Корво - это не только про стеллс :) Абсолютно не мой стиль прохождения, но как же оно все красиво выполнено! Особенно последнее устранение противника, просто восторг! :)

@музыка: Sandra - H! Hi! Hi!

@настроение: Но клешни мне под эту игру еще выпрямлять и выпрямлять...

@темы: In-game

11:51 

Shared Printers and Group Policy

В Dash'e под Chronostasis'ом.

It is done!
Последнее, что мне никак в моей опупее по автоматизации развертывания принтеров не давалось, так это подстановка новых принтеров в групповую политику. Среди всех команд Powershell, работающих с GPO, нет ни одного, который бы позволял менять GPPreferences. Точнее, есть, но работают они несколько не с тем, что нужно.
А недавно стукнуло в голову - описания принтеров, которые раскатываются на рабочие места, это ни что иное, как XML файл, лежащий в SYSVOL по вполне себе известному пути. А что если выправить непосредственно этот XML файл, а потом посмотреть, что будет.

Как водится, разъяснения, что тут и как.
В качестве входных параметров в этом коде присутствуют имя принтера, который будет прописывать в политику, имя принтсервера, на котором живет общий ресурс этого принтера, и имя политики, которую будем менять. Все остальное вычисляется автоматом на основании этих данных. В финальном виде входными данными будет только имя принтера, но это уже за рамками данной записи.
Скрипт предполагает, что группа, членам которой будет подключаться этот принтер, уже создана, а ее имя совпадает с именем принтера. При желании проверка на наличие этой группы в AD прописывается очень просто.
Отдельно пара слов о блоке Raise Version of policy. Номер версии групповой политики никак не влияет на репликацию самих файлов политики, а вот для клиентских рабочих станций он может иметь большое значение. Именно поэтому данный блок и введен. Как рассчитывается и как хранится номер версии - в сети материала полно, от себя лишь скажу, что это было весьма интересно.
P.S. Согласен, что сборка XML структуры в виде текста - решение "в лоб". Но как показывает практика, иногда именно такие решения работают надежнее всего.

@музыка: Stellardrone - Comet Halley

@темы: Scripting, PowerShell

23:01 

Чай...

В Dash'e под Chronostasis'ом.
Вот уже год, как я отказался от чая с сахаром и пью его исключительно без "сладкой смерти". Да, сладкий кофе я глушу просто декалитрами, но с моим графиком работы иначе и не выходит (да, я знаю, что это вредно, да, я стараюсь от этого уйти). Но вот на подслащенный чай не тянет. Отвык совсем.
Ради интереса приполз домой, и вздумал все же тряхнуть стариной. И теперь задаюсь вопросом - люди, как вы его таким пьете, если пьете, конечно? Невкусно же :)

@музыка: Oscar Salguero - La Sagrada Familia

21:23 

Dishonored

В Dash'e под Chronostasis'ом.
Я уже говорил, что могу быть просто фееричным слоупоком? Нет? Ну, считайте, что сказал.
Dishonored - игрушка по нынешним меркам уже старая. Тем не менее, по какой-то причине этот стелс-экшн прошел мимо меня. А буквально на днях увидел трейлер второй части игры и понял - а ведь неплохо же, надо причаститься. Ну, вытащить какую-либо игрушку со стима - дело не хитрое. Но каково же было мое удивление, когда в библиотеке (или все таки правильно - игротеке) я увидел вот такое:

RHCP. Вариантов ровно два - либо Корво у нас фатанеет от Red Hot Chili Peppers, либо он отъявленный линукосид-красноглазик, потому что RHCP - это еще и Red Hat Certified Professional :) А может быть и то, и другое разом? О.О
P.S. Коллега в шутку предложил Random Host Configuration Protocol. Уржался! :)

@музыка: E-Mantra - Kaleidoscope Clouds

@темы: Этот веселый мир, In-game

22:32 

Итоги дня одним словом.

В Dash'e под Chronostasis'ом.
ПИЗДЮКИ-И-И-И-И-И!!!*

---
*myself included.

@темы: Этот безумный мир

11:42 

Слова

В Dash'e под Chronostasis'ом.
Топик, из которого это выужено, уже старый по меркам интернета, но все равно, вдруг кто не видел.
github.com/django/django/pull/2692

The docs and some tests contain references to a master/slave db configuration.
While this terminology has been used for a long time, those terms may carry racially charged meanings to users.
This patch replaces all occurrences of master and slave with 'leader' and 'follower'

И на эту же тему:

@темы: Этот безумный мир

13:14 

О профессиональной деформации

В Dash'e под Chronostasis'ом.
Еду в автобусе, смотрю на свою сумку, смотрю на готовящийся разойтись шов. В голове проносится мыcль - надо сумку перепрошить.
Через пару секунд другая мысль - надо сумку ЧТО СДЕЛАТЬ? О.О

@музыка: Eleni Violaris - Believe in Magic

@темы: Этот веселый мир

12:59 

Windows 2012 R2 + Exchange 2010

В Dash'e под Chronostasis'ом.

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

Итак, известно, что E2010 изначально в Win 2012 не жил. Поддержку этой ОС добавили только в редакции E2010SP3. И даже более того. В качестве ОС для E2010SP3 используется обычная Win 2012, не R2. Я долго думал, почему так. Более подкованные коллеги ссылались на какие-то адовые проблемы, и потому вообще предпочитали оставаться аж на Win 2008, только некоторые с большой неохотой мигрировали свои почтовики на Win 2012, но никто - на R2. Ну а поскольку было скучно...

Установка Win 2012 R2 уже давным давно заскриптована по самое не балуйся, клонирование шаблона (да-да, та самая процедура, где на тебя смотрит овца) - и новый сервер готов. Дело за Exchange. Накатываем на него все нужные роли самой Win2012, благо, сделать это можно одной командой:

Попутно втыкаем на сервер еще пакет фильтров (Microsoft Filter Pack) и можно ставить сам почтовик.

В редакции Е2010 он встал вообще без каких-либо проблем, но сразу при запуске управляющей консоли нас ждет просто потрясающее сообщение:
The WinRM client sent a request to an HTTP server and got a response saying the requested HTTP URL was not available. This is usually returned by a HTTP server that does not support the WS-Management protocol. For more information, see the about_Remote_Troubleshooting Help topic.

Приехали. Что только ни предлагалось для решения этой проблемы... И вынести службу IIS, потом вернув ее назад, и изменение настроек самой IIS, и перезапуск виртуальных каталогов. В общем и целом, ничего не помогло. Ну да ладно, не особо велика беда, я знал, на что лез. Вытаскиваем на свет файл с e2010SP3, в котором-то и добавили нормальную поддержку 2012-й линейки Windows. Установщик запустился, добрался до обновления роли Hub Transport... и вылетел с критической ошибкой. Жаль, что я ее не сохранил для истории.

Ну, думаю, не беда. Можно сделать интереснее - удалить Exchange и поставить его уже сразу из пакета e2010SP3. Ок, панель управления, установка/удаление программ, Exchange 2010 - удались! А эксч подумал и сказал - авотфигвам: Some controls aren't valid.

Приехали вторично! То есть ни обновить до конца, ни удалить текущую установку мы не можем. Жаль, не дошли у меня мозги в тот момент попробовать удаление через setup.com /mode:uninstall, хотя и есть подозрение, что результат был бы тем же. Делать нечего. Для верности вывожу этот сервер из домена, после чего просто удаляю к чертям виртуалку и за пару десятков минут разворачиваю новую со всеми нужными настройками, сетями, ролями. А после этого - запускаем на свежем, чистом сервере установщик E2010SP3. Как там дядя Миша говорил - Готовы? Вот что мне этот установщик выдал:

На сервере служб Exchange нет вообще, какой к дьяволу inconsistent? Для верности запустил еще раз - результат тот же. Значит - ошибка стабильна. Вспоминая да-а-а-авнюю установку еще на Windows 2008, даже не R2, таких танцев с бубном даже в мыслях себе не мог представить.

Что ж, шаманство продолжается. В сети нахожу упоминание о том, что неплохо было бы вынести из ADSI любые упоминания об Exchange, если это первая установка (а по сути так и должно быть). ADSIEdit.msc мне! Вычищаем оттуда все, что касается Exchange, за исключением раздела Schema - эту сущность без крайней необходимости вообще руками лучше не трогать.

Только после всех этих манипуляций Exchange соизволил установиться, открыть управляющую консоль, найти в ней новоустановленный сервер с ролями CA/HT и подцепиться к нему. Искренне надеюсь, что двумя MBX-серверами будет все же попроще.

Посматриваю заодно в сторону мааааааленького hMailServer, который мне безумно понравился еще во времена старой доброй 2003-й винды. Он просто работал :)

@музыка: Eleni Violaris - Rainstriker

@настроение: давненько не было записей с тегом MS Exchange...

@темы: Этот безумный мир, MS Exchange

13:16 

Mailflow

В Dash'e под Chronostasis'ом.
Дожились. Делаю репост из Веселого робота, но эту тему я вниманием обойти просто не могу. Ох, сколько же в прошлом пришлось увидеть всякого-разного по означенной теме...
04.10.2016 в 12:00
Пишет Веселый робот:

Инструкция для тупых уродов - как пользоваться рабочей почтой
Если бы я хотела просто повыёбываться, то я бы написала такой пост про правила рабочей переписки, от которого у бедных тупорылых маркетологов и пиарщиц на стороне клиента пожухли бы матки и отвалились их кривые шляпки. Я бы написала пост с такими примерами мудоёбства, что трава бы ещё год не росла на этом месте и ко мне побоялся бы наниматься любой нормальный человек. С такими цитатами тупежа в почте, что вы бы это растащили на мем...читать дальше (еще 9406 символов) >>

URL записи
Отдельно по вацапам и прочей ереси. Да, поначалу оно кажется безумно удобным. В любой момент, любой вопрос, кому угодно из рабочей группы. Но когда количество этих самых рабочих групп начинает вываливаться из всех разумных рамок, становится жутковато. А уж когда вацап становится основным каналом передачи информации, причем в обе стороны - это мрак. Другое дело, что иногда других методов просто нет. Ну вот нет, и все. Вернее, не так. Методы есть, но обстоятельства диктуют свои условия.

@музыка: Metal Gear Rising: Revengeance OST - VR Mission

@темы: Этот безумный мир

23:50 

VirtualBox

В Dash'e под Chronostasis'ом.
Не знаю, почему, но эта овца, смотрящая на меня с окна клонирования виртуальной машины, умиляет :)

@музыка: Jason Miler - Red Sun

@настроение: а ведь по идее уже спать надо ложиться, а не с VM баловаться

@темы: Этот веселый мир

17:13 

Налоги...

В Dash'e под Chronostasis'ом.
О налогах сейчас много чего пишется и говорится. Из последнего:
Newsru.com:

Министр также подчеркнул, что российский бюджет должен быть приведен в соответствие с теми возможностями, которые есть. "Мы сокращаем дефицит бюджета, каждый год предусматриваем снижение разбалансировки на 1% с тем, чтобы привести баланс бюджета (дефицит) 2019 года на уровне примерно 1% ВВП. Абсолютно приемлемый размер", - отметил министр.

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

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

@музыка: Metal Gear Rising: Revengeance OST - Old City

12:09 

А где там у меня тег "РПЦ" был?

В Dash'e под Chronostasis'ом.
Пора его снова в обиход вводить, не иначе.
meduza.io/news/2016/09/30/prokuratura-ne-nashla...
Ну что, госпада неверующие (к коим я и себя отношу) - поздравляю, нас всех записали в символы ЕдРа :) Круши, ломай, жри малину! :)

@музыка: Blue Stone - Breathe

@настроение: Deshell, Enfire, Enfrost, Enthunder... Full broadside!!!

@темы: РПЦ

11:19 

Routing

В Dash'e под Chronostasis'ом.
После тотальной переустановки всей системы логичным образом погибло все виртуальное барахло, которым, наконец-то, дошли заняться мои лапы. Поднял систему виртуализации, настроил сети, поднял пару контроллеров домена. Да вот беда - эти контроллеры, находясь по задумке в разных подсетях, не видят друг друга. Логично, что не видят, маршрутов друг до друга-то нет. Не беда - это поправимо. На основной машине даем пару команд:
route add -p 192.168.1.0 mask 255.255.255.0 192.168.1.254
route add -p 192.168.2.0 mask 255.255.255.0 192.168.2.254
После это после этого включаем службу Routing and Remote Access и перезагружаем основную систему - et voila - все друг друга видят, а хост-машина стала ядром для всех подсетей виртуальных машин.

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

Ладно, тушим ее принудительно через диспетчер задач и пытаемся реанимировать.
Вынести профиль этой программы. Результат нулевой.
Переустановить ее целиком. Ноль.
Уже недобрым взглядом покосился на версию этой качалки - 2.2.1 Но ведь раньше ты спокойно работала и обновлений не просила, а что меня ждет в версии 3+, я прекрасно знаю, и не хочу подобного на своей машине.

Вывод печален - проблемы начались после включения маршрутизации, стало быть больше всего шансов на то, что именно маршрутизация и стала причиной сбоя. Отменяем ранее заданные маршруты и вырубаем RRAS. Торрент взлетает на крыльях счастья. Хм... мы произвели два действия: маршруты убили и службу выключили. Какое именно из них приводит к нормализации? Откатываемся назад по одному шагу:
- прописываем маршруты - торрент спокойно живет.
- включаем RRAS - торрент валится.
- выключаем RRAS - торрент валится.
- включаем RRAS и убиваем маршруты - торрент валится.

Вывод - RRAS и uTorrent 2.2.1 в пределах Win 10 - "вещи несовместные". Кто из них гений, а кто злодей - еще предстоит выяснить. А вот ядро сетей придется вынести с хост-машины в виртуальную. Не хочется этого делать, но, видимо, никуда не денешься, "Мне нужны обе - Николь и Венера!" (с) Д. Лиленд, "Как украсть миллион".

@музыка: Sascha Dikiciyan - DXMD - Adam Jensen 2.0 Trailer

17:36 

DX:MD - Scripts

В Dash'e под Chronostasis'ом.

Ссылки. В прошлой записи ссылок на картинки было под пять десятков. Прописывать все это руками, конвертируя то, что отдает imgur.com - да проще было бы убиться. Ну а поскольку в моей жизни еще не все дела переделаны, убиваться рано (вот разве что кого-то убить... ой, что-то я не туда полез...).

В общем и целом. Есть куча однотипных ссылок на картинки. Нужно отконвертировать их в ссылки с поддержкой мелких (или не очень мелких) превьюшек. Скажем, если ссылка имеет такой вид:

то приобрести она должна вот такой:

Создается обертка в виде тега "a href" и немного меняется путь к той картинке, которая будет выступать в виде превью: в ее имя перед расширением добавляется буква "l".
От копипаста исходных ссылок с imgur ничто не спасет, ну не нашел я там функции экспорта линков. А вот все дальнейшее прекрасно в итоге автоматизируется:

В файл d:\links.txt закидываем imgur'овские ссылки по одной в строку, а полученное на выходе вставляем в форму новой записи на дайриках и разбавляем комментариями. Сделано!

@музыка: Sascha Dikiciyan - DXMD - 101 Trailer

@темы: PowerShell, Scripting

23:37 

DX:MD - Screens

В Dash'e под Chronostasis'ом.
Отснятое во время "путешествия". Так, на память долгую :)
Много трафика, аккуратно

@музыка: Sascha Dikiciyan - DXMD - Adam Jensen 2.0 Trailer

@темы: In-game

Записная книжка

главная