Создание msi-пакетов и установка любого ПО средствами групповых политик Windows

11:59

Создание msi-пакетов и установка любого ПО средствами групповых политик Windows

Бекап проекта в несколько строк

21:33

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

Это решение частной задачи, без особых мыслей о безопастности.

С момента рождения замысла до реалзации прошло чуть более получаса.

Задача:
Есть файлы проекта и как правило — одна база.
Нужен один или два скрипта, которые автоматически делают бекап базы и файлов без различных авторизаций и на уровне http запросов.

Что имеем:
Ubuntu, Apache, MySQL.

Что умеем:
Perl.

Решение

Автоматическая установка софта 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)

Далее

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

Download MSI Flash Player Installer

11:25

Here

Автоматическая установка программ в домене Windows

11:21

Автор

Иванов Илья, http://bozza.ru, апрель 2010

Вступление

Если в домене Windows установлен WSUS, админ рад и спокоен - дескать, все, обновления ставятся на автомате, трафик снизился, бегать по компам не надо и пр. В принципе, все осталость то же самое, но ведь не все используют в работе Microsoft Outlook или Internet Explorer (хотя 8-ка очень неплоха). Есть много людей, привыкших работать с почтовиком The Bat!, броузером Opera или Mozilla. Если встает вопрос об обновлениях - либо это головняк админу в виде беготни к каждому компьютеру для обновления всем, скажем, Opera, либо юзеры должны сидеть под админами (пускай и локальными, не доменными).

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

Самый распространенный вариант ответа на вопрос - КАК? - Конечно, через Active Directory! - скажет вам любой специалист или просто сисадмин. А как через AD? - спросите вы. А вам скажут - ?! Вы не знаете, как через AD? Да там же просто, через policy! - но больше вам скорее сего ничего не скажут, потому что для большинства советчиков этот вопрос такой же неясный, как и для вас. И вам ничего не останется, как гуглить до потери пульса, потому что найти огромный фолиант на тему "как развернуть office 2007" в сети корпорации не проблема, а вот просто и в двух словах - редко что найдете. Не без гордости могу сказать, что данная статья как раз одна из немногих кратких и "без наворотов", попадавшихся мне.

Установка программ из MSI

Все изложенное далее относится к работе с инсталляционными пакетами типа MSI (расширение .msi). Файлы MSI есть (или их можно извлечь) для многих программ (Adobe Acrobat, The Bat, Opera, Firefox и пр.).

Предположим, мы хотим автоматически установить (а по мере выхода обновлений, устанавливать обновления) броузер Firefox. Файл msi для Firefox можно взять здесь (в новом окне).

Настройку шаблона .adm я пропущу, т.к. далеко не всегда это нужно, а еще чаще этот шаблон фиг найдешь. В итоге - дефолтные настройки (либо, если будем ставить поверх старой версии - настройки будут сохранены). Шаблон .adm нам не нужен.

Распределяем права доступа

Предполагаю, что все учетные записи компьютеров (кроме контроллеров домена) находятся в OU "OU Office Computers".

Примечание 1:

Почему лучше не использовать исходное размещение компьютеров (Computers - Компьютеры домена в оснастке Active Directory Users and Computers)? Мне удобнее в дальнейшем управлять политиками для групп компьютеров. К тому же, когда я посещал курсы Microsoft, я видел, что на контроллерах доменов в тестовых системах и в "боевых", настроенных специалистами Microsoft, используются практически только отдельно созданные OU, а не базовые. Я для себя решил повторять опыт специалистов. Пока мне от этого только удобнее. Естественно, ИМХО.

Примечание 2:

Не всем пользователям нужен Firefox (как не всем нужен The Bat, Opera и пр.). Поэтому создадим в "OU Office Computers" отдельную группу компьютеров, на которые будет установлен Firefox. Для ясности назовем группу GFirefoxComputers. Отмечу, что это будет именно группа, а не вложенное OU!

Расшариваем какую-либо папку на сервере (на рисунке это SoftwareDistibution, а не Mozilla Firefox, как может показаться) и даем группе GFirefoxComputers доступ на чтение, админу - полный доступ (не компьютеру админа, а пользователю - все-таки вы должны иметь возможность по сети заливать на шару файлы ;)).

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

Копируем Firefox MSI в расшаренную папку на сервере

Политика правит миром! 

На контроллере домена запускаем редактор групповой политики GPMC.MSC:

Редактор групповой политики GPMC

... и создаем связанную только с нашим OU "OU Office Computers" групповую политику под названием "Firefox 3.6.3 rus":

... редактируем нашу политику "Firefox 3.6.3 rus":

Готовим дистрибутив Firefox для развертывания в сети

В разделе "User Configuration" -> "Software settings" -> "Software Installation" щелкаем правой мышкой и создаем новый объект для установки - наш будущий инсталлятор Firefox.

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

Выбираем "Assigned" (Назначенный):

На этом работа с веткой "Software Installation" закончена.

Готовый пакет Firefox 3.6.3 для автоматической установки на компьютеры домена

Закрываем все открытые окна на сервере (если не помешает другим задачам, естественно), Пуск -> Выполнить -> gpupdate /force

Установка на рабочих станциях

Далее достаточно просто перезагрузить рабочие станции, чтобы автоматически установился Firefox ДО того, как появится окно для ввода логина/пароля. Иными словами, пользователь будет не в силах чего-то не установить, забыть и пр. Поэтому этот способ так хорош. Вы удаленно решаете, что будет установлено / обновлено на рабочих станциях.

Windows XP бывает не с первой перезагрузки "принимает" нове политики, поэтому можно подойти к юзеру, выполнить команду "gpupdate /force" (не обязательно под админом) и перезагрузить его компьютер.

Обязательно проверьте установку на своем / тестовом компьютере ДО того, как юзеры придут следующим утром, включат компьютеры... а вдруг косяк? Поэтому хотя бы первый раз сначала испытайте на себе.

Дополнительно

Теперь на любой новый компьютер, введенный в состав подразделения OU Office Computers будет установлена последняя версия броузера Firefox. Вам даже не придется ничего делать. Просто и очень полезно. Таким же образом можно устанавливать практически любой софт, включая Adobe Reader, Adobe Flash Player (которые в обычной ситуации требуют административных прав для установки), The Bat... да мало ли софта у вас в локальной сети, поддерживать который в актуальном состоянии одна из обязанностей системного администратора.

Нюанс: если вы уже установили какой-либо пакет, в нашем случае Firefox 3.6.3 rus, а через некоторое время вам потребуется его обновить (т.к. рано или поздно выйдет новая версия броузера), сначала удалите политику по установке Firefox 3.6.3, после чего создайте новую. Потом "gpudate /force" и вперед!

(c)

Далее

Уйти или остаться?

22:40

Закулисные проблемы сисадминов

Firefox ADM

19:54

FirefoxFirefoxADM is a way of allowing centrally managed locked and/or default settings in Firefox via Group Policy and Administrative Templates in Active Directory Latest news about FirefoxADM at http://ick2.wordpress.com

More

WetDog allows you to lock down the Mozilla Browser and Firefox (1, 2 and maybe 3?) using Group Policy Objects (GPOs) in Active Directory. Easy to install and use.

More

Самозаверяющие сертификаты в Exchange Server 2007

16:13

Цифровые сертификаты — это электронные файлы, которые используются аналогично паролям для подтверждения подлинности пользователя или компьютера. Кроме того, сертификаты применяются для создания канала с SSL-шифрованием, который используется для связи между сервером сMicrosoft Exchange и клиентским компьютером или устройством. Цифровой сертификат — это документ, который выпускается центром сертификации; он подтверждает подлинность держателя сертификата и позволяет шифровать передаваемые данные.

Далее