Автоматическая установка софта BAT файлами

11:57 Рубрика: Ацкий одмин

Пожалуй каждый админ сталкивался с проблемами, связанными с различающимися версиями ПО на компах пользователей. У одного стоит WinXP SP1, у другого SP3, второй пользуется Firefox 2 с неработающими обновлениями, третьему в спешке забыли установить антивирус, или неправильно его настроили, у четвертого Word 2007 сохраняет файлы в формате docx, который не понимает openoffice пятого, ну и многое другое. Я тоже значительно пострадал от всего этого и однажды решил привести список ПО и его настройки у пользователей к одному единому знаменателю. Было много проблем и бессонных ночей, но после всего этого, количество проблем и звонков резко сократилось, да и установка новых систем свелась в основном только к вводу пустого компьютера в домен, после чего весь основной софт сам настраивается и устанавливается. А начну я свой рассказ с установки софта из доменного скрипта автозапуска (BAT файла).

 

Собственно сама установка программ производится у меня из этого скрипта. Т.е. при каждом логине пользователя, проверяется список программ и устанавливаются нужные, если их нет. Да, это наводит некоторые проблемы – одни программы требуют перезагрузки, другие долго устанавливаются и т.п. Но надо только один раз отмучиться и потом все будет хорошо icon smile Автоматическая установка софта BAT файлами
Первая проблема, с которой я столкнулся – необходимость запуска установки от имени администратора. Стандартный системный runas требует ввода пароля администратора при каждом запуске и для наших целей непригоден. В ходе поисков в интернете, была найдена программа http://www.robotronic.de/runasspc.html. С ее помощью мы генерируем зашифрованный файл, который запускается модулем этой программы, который в свою очередь, запускает нужный нам bat файл от имени доменного админа. Команда на запуск будет представлять из себя примерно такую строку:

1
\\server\share\autorun\runasspc.exe /cryptfile:"\\server\share\autorun\runasspc.spc" /quiet

Где runasspc.spc – сгенерированный нами файл для запуска файла сценариев \\server\share\autorun\soft_install.bat от имени доменного администратора. Для этой цели я даже сделал отдельного пользователя с паролем по-сложнее и бесконечным сроком действия.

Далее мне потребовался какой-либо оповещатель об установке софта. Для этого я использовал программу Blat, которая позволяет отправлять письма прямо из командной строки. Я выложил ее в доступную всем папку на сервере \\server\share\autorun\blat

Далее собственно файл \\server\share\autorun\soft_install.bat:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
@ECHO OFF
REM Адрес почтового сервера и адреса получателя и отправителя писем
SET MAILS="10.1.1.1"
SET MAILFROM="support@company.ru"
SET MAILTO="support@company.ru"
SET BLAT="\\server\share\autorun\blat\blat.exe"

REM Имена компьютеров, на которые не требуется устанавливать софт
if %COMPUTERNAME%==NOTEBOOK (
exit
)
if %COMPUTERNAME%==WINSERVER (
exit
)

rem ---------------------Service Pack 3 Install-------------------------
REM проверяем установлен ли SP3 в реестре
Reg query "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion" /v CSDversion|Find "Service Pack 3"

if %ERRORLEVEL% == 0 (
ECHO Service Pack 3 Already Installed
goto end
)

ECHO Installing Service Pack 3
"%BLAT%" -server %MAILS% -f %MAILFROM% -to %MAILTO% -s "Soft install on %COMPUTERNAME%. WinXP SP3 install real" -body "%DATE% %TIME% WinXP SP3 Install"
REM Путь к дистрибутиву и команда тихой установки + ключи, не требующие подтверждения установки и отменяющие перезагрузку
"\\server\share\distrib\WindowsXP-KB936929-SP3-x86-RUS.exe" /quiet /passive /norestart

:end

rem ---------------------------------NOD32---------------------------------------------

SET PROGRAMMNAME="NOD32"
REM Путь и имя к проверяемого файла
SET FILENAME="C:\Program Files\ESET\ESET NOD32 Antivirus\ekrn.exe"
REM Требуемый размер файла
SET FILESIZENEED="810120"

REM Сравниваем размер файла и если не совпадает с требуемым, или файл не существует - запускаем установку
echo Checking %PROGRAMMNAME%
if exist "%FILENAME%" (
        for %%a in (%FILENAME%) do set "FILESIZE=%%~za"
        if "%FILESIZE%" == %FILESIZENEED% (
                echo Program already install %FILENAME% with size %FILESIZE% bytes
                goto end
        ) else (
                echo Need install. File %FILENAME% need to be %FILESIZENEED% bytes, but it %FILESIZE% bytes.
        )
) else (
echo Need install. File %FILENAME% not exist.
)

echo Installing programm

REM Отправка письма с оповещением об установке
"%BLAT%" -server %MAILS% -f %MAILFROM% -to %MAILTO% -s "Soft install on %COMPUTERNAME%. NOD32 4" -body "%DATE% %TIME% Begin installing NOD32."
REM Специально созданный reg-файл с нужными настройками NOD32
regedit /s \\server\share\nod32.reg
REM Путь к дистрибутиву и команда для тихой установки (Silent Install)
"\\server\share\distrib\eavbe_nt32_rus_4.msi" /qb! REBOOT="ReallySuppress"

:end

Логика примерно такова:
-проверяем, не установлена ли уже программа (по существованию файла, размеру, ключам реестра и т.п.)
-если нет – запускаем тихую установку (Silent Install)
Практически все известные программы делаются сейчас с режимом тихой установки. Это позволяет устанавливать ее, не выдавая каких-либо окон и не требуя от пользователя действий.
С этой помощью, все компьютеры пользователей у меня теперь работают с набором программ с одинаковыми версиями. Однако приходится бороться с автоматическими обновлениями самих программ – выключать их через реестр, или другими способами. Вот список софта, который устанавливается у меня таким способом:

Service Pack 3
NOD32
Acrobat Reader
7Zip
Internet Explorer
Mozilla Firefox
OpenOffice
FreeImage Editor
Denol Scanner
Punto Switcher
OCS Inventory Agent
Small CD Writer
NTPD
UltraVNC
Miranda IM
Adobe Flash Player
doPDF
и несколько других мелких утилит.

Теперь я точно знаю, что ЛЮБОЙ пользователь может, к примеру, найти на рабочем столе ярлык для программы для записи дисков, что сайт с флеш-содержимым у него откроется корректно и в списке принтеров он найдет виртуальный PDF-принтер

 

(c)

Далее

Ключи тихой (автоматической) установки программ

11:54 Рубрика: Ацкий одмин

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

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

 

NOD32 4.2

1
"\\server\distrib\eavbe_nt32_rus_4.msi" /qb! REBOOT="ReallySuppress"

Ключ ReallySuppress, означает разрешение на перезагрузку после установки только, когда это очень надо  Обычно компьютер продолжает спокойно работать.

Acrobat Reader 9.3.0

1
\\server\distrib\adberdr930_ru_ru.exe /update-no /sAll

Ключ update-no дает запрет на выкачивание обновлений при установке. Также я диким способом выдираю модули автоматического обновления, поскольку предпочитаю централизованно обновлять все рабочие станции:

1
2
3
4
5
6
del /F /Q "C:\Program Files\Adobe\Reader 9.0\Reader\AdobeUpdater.dll"
del /F /Q "C:\Program Files\Common Files\Adobe\Updater6\adobe_updater.exe"
del /F /Q "C:\Program Files\Adobe\Reader 9.0\Reader\plug_ins\Updater.api"
del /F /Q "C:\Program Files\Adobe\Reader 9.0\Reader\plug_ins\Updater.RUS"
del /F /Q "c:\Program Files\Common Files\Adobe\ARM\1.0\adobearm.exe"
del /F /Q "C:\Program Files\Common Files\Adobe\ARM\1.0\ReaderUpdater.exe"

7Zip

1
\\server\distrib\7z465.exe /S

Internet Explorer 7.0
Ввиду некоторой консервативности и технических проблем, повсеместно использую IE 7.0:

1
start /wait \\server\distrib\IE7-WindowsXP-x86-rus.exe /quiet /update-no /norestart /passive"

Image Resizer

1
msiexec /I "\\server\distrib\ImageResizer-2.0.msi" /qb ALLUSERS=1

Mozilla Firefox
Про нее отдельный разговор.. Собираюсь в ближайшее время написать подробную статью о создании дистрибутива для разворачивания firefox в домене.

Open Office/Libre Office
Использую замечательную сборку Open Office, в которую вшиты простейшие ключи для тихой установки:

1
\\server\distrib\ooo.exe -ai2 -gm2

FreeImage Editor
Простейшая программа для сканирования и редактирования изображений.

1
"\\server\distrib\Free Image Editor 2.3 Setup.exe" /SILENT

Denol Scanner
Аналогично предыдущему

1
"\\server\distrib\denolscanner.exe" /S

PuntoSwitcher 3.1.1

1
"\\server\distrib\punto.exe" /verysilent

Flash Player 10

1
"\\server\distrib\install_flash_player.exe" /S

doPDF 7.1
Замечательный PDF-принтер. С недавнего времени стал поддерживать тихую установку и по-этому быстро прижился 

1
"\\server\distrib\dopdf.exe" /VERYSILENT

Path2Clipboard

1
\\server\distrib\copypath.exe /VERYSILENT

OCS Inventory Agent

1
"\\server\distrib\OcsAgentSetup.exe" /S /SERVER:10.1.1.1 /NP /NOW

Service Pack 3 Install
Сервис пак для Windows XP  Тоже как-то раз надо было развернуть повсеместно, для чего использовал следующий батник. Ребут после установки очень желателен..

1
2
3
4
5
6
7
8
9
10
Reg query "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion" /v CSDversion|Find "Service Pack 3"

if %ERRORLEVEL% == 0 (
ECHO Service Pack 3 Already Installed
goto end
)


ECHO Installing Service Pack 3
"\\server\distrib\WindowsXP-KB936929-SP3-x86-RUS.exe" /quiet /passive /norestart

Вот и все 

 

(c)

Далее

Загрузка векторных иконок через @font-face: за и против

08:48 Рубрика: Web Development

9d601bb5

 

С помощью @font-face вы можете загружать иконки не в виде PNG или GIF, а внедрить внутрь шрифта и подгрузить пользователю через директиву @font-face. С помощью CSS3 можно поворачивать векторные иконки, добавлять тени или даже анимированные эффекты с плавным изменением цвета иконки при наведении курсора мыши (раньше такое было возможно только на Flash).

Вот здесь инструкция по использованию набора шрифтов IconPack (.eot, .woff, .ttf, .svg) и загрузке иконок с помощью псевдо-элемента :before и тега span.

 

Далее

Подборка скриптов для создания галереи на php

08:46 Рубрика: Web Development

freshslidingthumbnaislgallery1

Искал я на просторах Интернета всего лишь скрипт для создания индекса изображений с lightbox и генерированием thumbnails. Помимо того что меня полностью устроило (phppi), нашел довольно интересную подборку галерей. В наличии комментарии и пояснения, думаю будет полезно новичкам да и бывалым время сэкономит.

 

Далее

Ubuntu, почтовый клиент для MS Exchange 2007

08:43 Рубрика: Linux

Используя Ubuntu в качестве основной ОС на работе, столкнулся с проблемой подключения к MS Exchange 2007. Протоколы POP и IMAP у нас отключены, единственной лазейкой была OWA — веб-интерфейс. Итак, попробуем рассмотреть возможные варианты решения этой проблемы. В качестве подопытной операционной системы используется Ubuntu 11.04.

 

Evolution-exchange


Один из самых распространённых вариантов, это использование пакета evolution-exchange, который позволяет соединиться с Microsoft Exchange посредством Exchange OWA — веб-интерфейса, конечно же если такая функция включена. Настройка такого способа подключения достаточно проста: evolution просит ввести адрес электронной почты, затем OWA URL в виде ~https://owa.domaine.ru/owa и имя пользователя. При вводе имени пользователя есть один нюанс: evolution не поймёт его в обычном виде — domaine/login, имя пользователя следует вводить в виде — login@domaine.local. Пробуем авторизоваться: появляется запрос на ввод пароля к login@domaine.local, после ввода пароля от доменной учётной записи, появляется ещё один запрос на ввод пароля к login — то есть имени почтового ящика, и тут неудача — ошибка авторизации. Скорее всего это связано с тем что, evolution-exchange неплохо работает с MS Exchange 2000/2003, но у нас Exchange 2007.

MAPI Provider


Далее рассмотрим способ использования пакета MAPI Provider или evolution-mapi. При настройке учётной записи в Evolution устанавливаем тип сервера — Exchange MAPI. Сам же сервер следует указать так же как при настройке Outlook. Остаётся ввести имя пользователя и домен, затем проверка подлинности и настройка закончена. Но при запуске клиента оказывается всё очень печально: evolution не видит папок названными кириллическими символами. При аналогичной настройке в Ubuntu 10.10 имена папок отображались символами вопросов, но они отображались. Однако, мне удалось увидеть список контактов и календарь, и даже отправить письмо, но этого, к сожалению не достаточно.

DavMail


Ещё один способ, на мой взгляд самый работоспособный, — это использование DavMail. Это так сказать прослойка между почтовым клиентом и MS Exchange. DavMail подключается к MS Exchange и создаёт локальный сервер IMAP и POP. В этом случае я использовал в качестве почтового клиента Mozilla Thunderbird. Настройка DavMail сводиться к указанию адреса OWA и портов подключения. В Thunderbird в качестве SMTP, IMAP или POP серверов необходимо указать localhost и соответственный порт.

Для работы с календарём необходимо установить расширение Lightning. Подключение календаря так же осуществляется посредством DavMail, аналогично предыдущим настройкам в качестве сервера указываем localhost и порт по умолчанию — 1080. В моём случае календарь ругался на просроченный сертификат безопасности. Открываем настройки Thunderbird, заходим Дополнительные -> вкладка Сертификаты -> Просмотр сертификатов -> вкладка Серверы и импортируем ранее сохраненный во время ошибки сертификат.

Далее нужно подключить адресную книгу, через LDAP порт, мне это не удалось. Для работы с контактами необходимо установить расширение Inverse SOGo Connector. Затем открываем адресную книгу, открываем меню файл -> создать -> Remote Address Book, вводим название и URL к контактам. Контакты в этом случае в DavMail подключаются через протокол Caldav HTTP и соответственно порт подключения будет такой же как при подключении календаря — 1080. В итоге строка URL будет выглядеть следующим образом: ~http://localhost:1080/users/login@domaine.ru/contacts. На этом настройка Thunderbird закончена. На моё удивление связка Thunderbird и DavMail превосходно работает с MS Exchange 2007. Так же должен заметить, что и Thunderbird и DavMail — кроссплатформенные продукты, так что вполне сгодятся в качестве почтового клиента для windows.

 

(c)

Далее

Как пересобирать пакеты Debian

08:41 Рубрика: Linux

Умение пересобирать пакеты Debian является очень полезным навыком. Он является необходимым для многих задач, с которыми может столкнуться администратор: включить фичу, выключенную в официальном пакете; пересобрать пакет для использования в другом дистрибутиве (например, пересобрать пакет из Debian Testing для Debian Stable — мы называем это обратным портированием (backporting)); добавить исправление бага, подготовленное разработчиками из апстрима, и так далее. Узнайте о четырёх шагах, позволяющих пересобирать пакеты Debian.

 

Как пересобирать пакеты Debian

 

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

 

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

Перенос списка пакетов между Deb-системами

23:31 Рубрика: Linux

dpkg --get-selections > pkg.list
sudo dpkg --set-selections < pkg.list
sudo apt-get -u dselect-upgrade

(1) (2)

Redo Backup and Recovery

09:32 Рубрика: Ацкий одмин

redobackup

 

Easy Backup, Recovery & Bare Metal Restore

Redo Backup and Recovery is so simple that anyone can use it. It is the easiest, most complete disaster recovery solution available. It allows bare-metal restore. Bare metal restore means that even if your hard drive melts or gets completely erased by a virus, you can have a completely-functional system back up and running in as little as 10 minutes.

 

More

Web-сервер на Debian GNU/Linux для начинающих

10:36 Рубрика: Linux

Руководство рассчитано на пользователей, которые собираются впервые использовать Debian GNU/Linux после работы с MS Windows.

Установка и использование web-сервера на Debian GNU/Linux, рассмотренное в данном руководстве, ориентированы на разработчиков веб-приложений и сайтов, использующие домашний компьютер в качестве платформы для разработки.

 


«Web-сервер на Debian GNU/Linux для начинающих» содержит в себе четыре главы:

* Часть 1: установка и настройка Debian GNU/Linux;
* Часть 2. Установка и настройка web-сервера;
* Часть 3. Установка и настройка Drupal;
* Часть 4. Установка и работа с Drush.



Подробное содержание:



    * О Debian GNU/Linux
    * О руководстве
    * Начало
    * Часть 1: установка и настройка Debian GNU/Linux
          o 1.1 Графическая установка системы
          o 1.2 Настройка системы
                + 1.2.1 Базовая настройка sudo
                + 1.2.2 Установка программ
                      # 1.2.2.1 Apt
                      # 1.2.2.2 Synaptic
                      # 1.2.2.3 Репозитории
                      # 1.2.2.4 Установка deb-пакетов
                + 1.2.3 Установка и базовая настройка Samba
                + 1.2.4 Некоторые полезные команды
    * Часть 2. Установка и настройка web-сервера
          o 2.1 Установка Apache2, PHP5, MySQL
          o 2.2 Установка и настройка phpMyAdmin
          o 2.3 Настройка PHP
          o 2.4 Настройка Apache2 и виртуальных хостов
          o 2.5 Запуск виртуальных хостов от пользователя
          o 2.6 Дополнения
                + 2.6.1 eAccelerator
                + 2.6.2 Компилируем PHP5 с GD
    * Часть 3. Установка и настройка Drupal
          o 3.1 Установка Drupal
          o 3.2 Мультисайтинг
    * Часть 4. Установка и работа с Drush
    * Руководство в формате PDF
    * Благодарности
    * Полезные ссылки



Автор: Станислав Езерский

Онлайн-версия

Благодарю Александра (aka Axel) Графова и Даниэля (aka Dan) Ишмаева за внесённые дополнения и предложения по содержанию.

Приятного и полезного чтения!

 

(c)

Далее

Собственный дистрибутив на базе Debian Linux

10:34 Рубрика: Linux

Потребовалось как-то по работе сделать кастомный дистрибутив. Дистрибутив должен умещаться на один диск и содержать в себе все, что требуется для простого десктопа + некоторые мелочи.

Итак, поехали.

 


Для начала нам надо установить эталонную систему. Берем с сайта debian.org дистрибутив. Например NetInstall. Скачиваем и устанавливаем на машину(или на виртуальную машину, кому как удобнее). Например я ставлю базовую систему, а затем все устанавливаю руками.

Итак. Система установлена. Устанавливаем требуемые пакеты.

apt-get install gnome gdm openoffice.org xfonts-base xorg xserver-xorg

После устанавливаем пакет «apt-move»
открываем настройки /etc/apt-move.conf и указываем в пункте LOCALDIR путь до того места, где у нас будет храниться будущий дистрибутив. У меня путь был указан в /home/debian. Сохраняем конфиг и выполняем команду apt-move update

По указанному выше пути(/home/debian/distrib) появился каталог pool. В нем будут лежать пакеты, которые в итоге окажутся на диске.

Монтируем CD(в нем ведь все еще есть диск Debian NETINSTALL) и копируем все, что на нем есть в каталог /home/debian/distrib.
Скачиваем с серверов debian.org файлы override.<дистрибутив>. Я например брал с ftp.fr.debian.org/debian/indices. Версия текущего дистрибутива etch, поэтому и скачиваем файлы, с названиями override.etch.*
Разархивируем gunzip'ом и кладем например в /home/debian/indices
В каталоге /home/debian создаем файл с именем apt.conf и заполняем его текстом по примеру с wiki.debian.org/DebianCustomCD/PoolAptConf. В этом-же каталоге создаем файл с названием дистрибутива (например mycd.conf) и заполнем его по примеру с wiki.debian.org/DebianCustomCD/PoolPackagesGzConf
Запускаем apt-ftparchive -c apt.conf generate mycd.conf
Ну а теперь самое главное. в каталоге /home/debian/distrib/install.i386 создаем файл preseed.conf
В него вписываем инструкции для инсталлятора Debian.

Пример заполнения файла preseed.conf
#заставляем инсталлер автоматически выбирать интерфейс
d-i netcfg/choose_interface select auto

#или выбираем конкретный
#d-i netcfg/choose_interface select eth1

# устанавливаем таймаут для DHCP(в данном случае, если у вас DHCP сервер медленный)
d-i netcfg/dhcp_timeout string 100

#если по DHCP ничего не получили, выводим опцию с возможностью указать настройки сети руками
d-i netcfg/dhcp_failed note
d-i netcfg/dhcp_options select Configure network manually

#название хостнейма данной машины и домена
d-i netcfg/get_hostname string office
d-i netcfg/get_domain string local

# Установка часов
d-i clock-setup/utc boolean true
d-i time/zone string Europe/Moscow

#Устанавливаем базовую систему
tasksel tasksel/first multiselect standard

#возможны разные варианты :)
#tasksel tasksel/first multiselect standard, web-server
#tasksel tasksel/first multiselect standard, kde-desktop

# Ну и индивидуальныем пакеты
d-i pkgsel/include string ssh xorg xserver-xorg gdm gnome openoffice.org xfonts-base xfonts-100dpi xfonts-75dpi xfonts-encodings xfonts-scalable xfonts-utils

# Показываем сообщение о предстоящем ребуте
d-i finish-install/reboot_in_progress note



Сохраняем этот файл и открываем для редактирования isolinux/isolinux.cfg
в нем дописываем
LABEL installseed
kernel /install.386/vmlinuz
append vga=normal file=/cdrom/install.386/preseed.cfg initrd=/install.386/initrd.gz —

выходим в директорию /home/debian/distrib
выполняем команду
find. -type f -print0 | xargs --null md5sum > md5sum.txt
и собственно начинаем процесс создания ISO образа:
genisoimage -r -V «Debian 4.0 r4a i386 custom» -o /home/debian/debiancustom_40.iso -J -cache-inodes -b isolinux/isolinux.bin -c isolinux/boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table /home/debian/distrib

После того, как программа закончит работу, в /home/debian/ можно будет найти .iso файл с нашим кастомным дистрибутивом. Теперь его или пишем на болванку или ставим на виртуальную машину.

p.s. надеюсь, ничего не забыл :)

 

(c)

Далее