We rise up for the things we believe in over and over again

Когда речь заходит о принтерах,
администратор сразу же уходит в серверную,
запирается там и медитирует на мигающие светодиоды.
Потому что принтеры - это скучно.

(с) Народное творчество


Допустим, есть задача. Расставить много-много принтеров для новоприбывающих сотрудников. А потом эти принтеры сделать доступными по сети через принт-сервер. А чтобы совсем весело было, добавим в эту задачку следующие условия:
- адреса этим принтерам должны прилетать от DHCP и быть там зарезервированными
- адресация принтеров начинается с 221-го номера соответствующего диапазона, заканчивается на 250-м. Если этой части диапазона не хватает (и только в этом случае), можно идти вниз от 220-го до 200-го включительно
- FQDN принтера должно равняться букве "p" c МАС-адресом и доменом: например - p112233445566.example.com
- отображаемое имя (то самое, под которым он будет виден клиентам) собирается из шаблона Город-номер_площадки-этаж-модель-индекс (индекс - если нужен): NSK-04-304-HP555 (Новосибирск, 4-й офис, 304 кабинет, модель HP LaserJet 555
- имя порта на принт-сервере должно равняться FQDN принтера.

Хорошая задачка? Вот и мне показалось, что хорошая. А уж сколько в ней оголтелого мышкокликерства, копипаста, нервов и еще чего похуже. Одним словом - так жить нельзя.
Install-Printer.ps1

Традиционно, как готовить. Из текста скрипта ясно, что он берет входные данные из csv-файла. Формат его таков:
Name,MAC,IP
Само собой, что эти данные у нас должны быть. Пример файла ниже:

Также скрипт подразумевает, что на принт-сервере уже установлены все необходимые драйверы.

Если используются другие принципы именования портов на принт-сервере и записей на DHCP - изменить логику работы скрипта не так уж сложно. Все в соответствующих переменных.
Можно его еще и расширить, чтобы он на основании имени выбирал, на какой сервер печати принтер устанавливать. Например, если на площадке с индексом 01 свой принт-сервер, и на 04 - тоже свой. C DHCP-сервером - ровно то же самое. В общем, возможностей по его изменению - достаточно.

И, наверное, стоит завести еще одну традицию - напоминание. Предварительное тестирование скрипта в лабораторных условиях - ОБЯЗАТЕЛЬНО. В нем нет никаких действий по удалению имеющихся объектов где-бы то ни было, но тем не менее.

@музыка: Eleni Voilaris - Song to the Earth

@темы: PowerShell, Scripting

Комментарии
12.11.2015 в 05:25

Тотальная неудачница и убийца жёстких дисков.
- FQDN принтера должно равняться букве "p" c МАС-адресом и доменом: например - p112233445566.example.com

У тебя FQDN – не FQDN ^^ /* Не могла удержаться! */

Также скрипт подразумевает, что на принт-сервере уже установлены все необходимые драйверы.

Помнится, я пожаловалась, что на Хероксовский принтер дрова тяжёлые, и через 3G выковыривать тяжело. Тогда появился Арканоид и сильно опечалил меня пальцовками про то, что он работает только с принтерами, поддерживающими PPD, и никакие драйверы ему не нужны. При всём уважении к титану мысли, мой принтер был куплен для печати диплома по запросу «Заверните самый дешёвый принтер и два картриджа к нему» =_=

Вспомнилось.
12.11.2015 в 05:55

We rise up for the things we believe in over and over again
У тебя FQDN – не FQDN ^^
Ты про отсутствие точки в конце? :)
12.11.2015 в 06:26

We rise up for the things we believe in over and over again
Кстати, про драйверы. HP наконец-то исправились в этом плане и все же выпустили нормальный Universal Print Driver, который в большинстве случаев и используется. И это замечательно, потому что больше не надо закачивать 100-метровые паки под каждую модель. Хватаем UPD для х86 и х64 версий 5 и 6, ставим, наслаждаемся жизнью. Остальные вендоры бы подтянулись - вообще шикарно было бы.
12.11.2015 в 07:35

Тотальная неудачница и убийца жёстких дисков.
Ты про отсутствие точки в конце? :)

Угу ^^

Хватаем UPD для х86 и х64 версий 5 и 6, ставим, наслаждаемся жизнью.

Кажется, я даже их качала, но так и не испробовала. Нашла их пока искала дрова для HP LJ 1200 на x64 Windows 8.
12.11.2015 в 09:32

We rise up for the things we believe in over and over again
HP LJ 1200
Это ж даже не то, что динозавр, это окаменелость!
12.11.2015 в 09:57

Тотальная неудачница и убийца жёстких дисков.
But it works.
12.11.2015 в 13:16

We rise up for the things we believe in over and over again
Не, я просто предполагал, что к нему уже забросили дрова писать, как это, кажется, с 1536 случилось. Перевели его на UPD, а тот в те славыне времена еще толком не работал.
13.11.2015 в 03:35

Тотальная неудачница и убийца жёстких дисков.
Ну, пока жива XP, всё это не страшно ^^'
13.11.2015 в 03:36

Тотальная неудачница и убийца жёстких дисков.
Кстати об окаменелостях. Я чуть не заимела в личное пользование HP LaserJet 4V ^^
13.11.2015 в 11:49

We rise up for the things we believe in over and over again
HP LaserJet 4V
Я такого даже вспомнить не могу, что оно такое, как оно выглядит и что умеет :)
13.11.2015 в 12:42

Тотальная неудачница и убийца жёстких дисков.
Это вот такая бандура ^^

https://en.wikipedia.org/wiki/File:HP_LaserJet_4.jpg
13.11.2015 в 12:44

We rise up for the things we believe in over and over again
О.О
Но зачем оно тебе в одно лицо? )
13.11.2015 в 12:49

Тотальная неудачница и убийца жёстких дисков.
Для души ^^
13.11.2015 в 12:51

We rise up for the things we believe in over and over again
Это? Для души? Ты еще скажи, что хотела оттащить его к себе домой :)
14.11.2015 в 16:07

Тотальная неудачница и убийца жёстких дисков.
Ну а куда ещё? ^^'
14.11.2015 в 16:10

We rise up for the things we believe in over and over again
Ужос... Чтобы дома такое стояло и занимало место... да ни в жисть :)
14.11.2015 в 16:59

Тотальная неудачница и убийца жёстких дисков.
Классика требует жертв!
14.11.2015 в 17:00

We rise up for the things we believe in over and over again
Но не таких же! :) Особенно когда этого самого свободного места, считай, нет.
14.11.2015 в 17:02

Тотальная неудачница и убийца жёстких дисков.
У меня есть ^^
14.11.2015 в 17:04

We rise up for the things we believe in over and over again
Как хорошо быть тобой... :)
16.11.2015 в 03:54

Тотальная неудачница и убийца жёстких дисков.
^^'