Дмитрий Щербаков
Проводим инвентаризацию сети средствами SMS 2003
У вас появится больше времени на творчество благодаря Systems Management Server 2003.
Проделав все необходимые действия (см. статью «Устанавливаем и настраиваем Systems Management Server 2003», №7, 2006 г.), вы получили полностью работоспособный сервер SMS 2003 с установленными клиентами, в базу которого занесены ресурсы сети (компьютеры, пользователи). Теперь можно двигаться дальше и переходить непосредственно к инвентаризации. Думаю, многие согласятся, что это малоприятная процедура. Порой необходимо сделать выборку по определенным параметрам, чтобы выявить компьютеры, на которые нужно установить обновления или нуждающиеся в модернизации. Многим из вас знакомы требования руководства, которое хочет знать, какое программное обеспечение установлено на компьютерах пользователей и не изменялась ли самовольно конфигурация ПК. Правда, это нужно не только начальству, но в первую очередь и самому сисадмину. Все это можно сделать в считанные минуты с помощью SMS 2003. Если вы знакомы с SQL, проблем будет еще меньше, благодаря возможности напрямую обращаться к базе SQL-сервера, используя запросы SQL. После проведенной инвентаризации можно централизованно обновить ПО, установить новое, а также поставить необходимые патчи и заплатки для операционных систем и программ. Можно для этого воспользоваться групповыми политиками домена, но сделать это сложнее, так как SMS – это все-таки специализированный продукт, рассчитанный именно на такое применение в отличие от Group Policy. Комплект инструментов был бы неполным без удаленного управления. Но это уже кому как нравится. Многие привыкли к небольшим мобильным утилитам, которые справляются с поставленной задачей не хуже, а порой и лучше SMS. Это не главное достоинство этого продукта, и его мы тоже рассмотрим.
Проводим инвентаризацию оборудования
Чтобы начать процесс, запустите консоль SMS Administrator Console, «Site Database -> Site Hierarchy -> имя сайта -> Site Settings > Client Agents», где выберите «Hardware Inventory Client Agent» (рис. 1). В свойствах агента на вкладке «General» поставьте флажок «Enable hardware inventory on clients», а расписание вы можете настроить уже в соответствии со своими задачами. Через некоторое время (минут 15) политики на клиентах обновятся, и вы сможете просмотреть ресурсы компьютеров сети. Для того чтобы ускорить этот процесс, на клиенте в панели управления запустите апплет Systems Management и на вкладке «Actions» обновите «Machine и User Policy» (рис. 2), а затем «Hardware Inventory Cycle». В этом случае информацию вы сможете просмотреть уже через 3-4 минуты. Собранные данные об оборудовании доступны, например, из коллекции «All Systems» консоли SMS Administrator Console. Для этого в контекстном меню по щелчку правой кнопкой мыши на нужном нам компьютере выберем «All Tasks -> Start Resource Explorer». Что интересно, сведения об установленном программном обеспечении тоже находятся здесь. После сбора информации об оборудовании эти данные заносятся в базу и далее доступны в автономном режиме и при выключенном удаленном компьютере.
Рисунок 1. Hardware Inventory Client Agent
Рисунок 2. Обновление политик на клиенте
Проводим инвентаризацию программного обеспечения
Инвентаризация ПО заключается в сборе информации из файлов приложений с помощью SMS Software Agent. Полученные данные включают в себя сведения о названии продукта, производителе, версии, а также времени и дате установки.
Для начала активируйте Software Inventory Client Agent: «Site Database -> Site Hierarchy -> имя сайта -> Site Settings > Client Agents» и поставьте галочку «Enable software inventory on clients» (рис. 3). По умолчанию собирается информация обо всех exe-файлах. Обновление информации происходит аналогично инвентаризации оборудования, однако времени требуется больше. Просмотреть информацию вы можете там же – через «Resource Explorer» (вкладка «Software»). В свойствах «Software Inventory Client Agent» можно указать также путь для поиска файлов и настроить сбор файлов с клиентских компьютеров (например, отчеты после установки ПО). Но так как такие файлы могут иметь довольно большой размер и клиентов тоже немало, следует подходить к сбору файлов с осторожностью, ведь это неизбежно повлечет за собой существенное увеличение сетевого трафика.
Рисунок 3. Software Inventory Client Agent
Другой способ проведения инвентаризации ПО – Software metering. На первый взгляд он похож на Software Inventory, но используется для того, чтобы отследить, с какими программами работает пользователь. Полученные данные могут содержать информацию о времени запуска программы, завершения, под каким именем пользователя она была запущена, и т. д. «Software Metering Client Agent» находится в контейнере «Client Agents» (там же, где «Hardware Inventory Client Agent» и «Software Inventory Client Agent»). Информация записывается на клиентском компьютере в файл mtrmgr.log в каталог C:windowssystem32ccmlogs.
Создаем отчеты
Для начала попробуем создать простой запрос (набор параметров, который используется для получения информации из базы данных).
Откройте консоль сервера SMS, «Site Database -> Queries», и далее по правой кнопке мыши – «New -> Query» (рис. 4). Что интересно, помимо множества предопределенных запросов можно создать и свои, используя WQL (в этом же диалоге). Это дает возможность обращаться сразу к нескольким объектам, что недоступно из графического интерфейса. По умолчанию выбран объект «System Resource». Дайте имя запросу, например test, затем нажмите на кнопку «Edit Query Statement» и поставьте галочку напротив «Omit duplicate rows», создайте новый запрос в окне «Result Properties -> Select» и далее выберите «Attribute Class» и «Attribute» (рис. 5). В качестве «Attribute Class» возьмите, например, «System», а «Attribute» – «Name». Поле «Alias» as можно оставить как есть – «No Alias». Далее перейдите на вкладку «Criteria». Создайте новый критерий, в котором тип оставьте «Simple Value», «Attribute Class» возьмите «Memory» (окно выбора атрибутов вызывается по нажатию кнопки «Select»), а «Attribute» – «Total Physical Memory».
Если, например, нужно узнать, на каком компьютере больше 1 Гб оперативной памяти, то в выпадающем списке «Operator» надо выбрать «Is greater than or equal to», а в поле «Value» занести 1 000 000 (рис. 6). Сохраните запрос, а для его запуска из контекстного меню выберите «Run Query».
Рисунок 4. Создание запроса. Шаг 1
Рисунок 5. Создание запроса. Шаг 2
Рисунок 6. Создание запроса. Шаг 3
Используем Reporting Point для создания отчетов
Для начала настройте сервер на использование Reporting Point, для этого в консоли SMS Administrator Console выберите «Site Database -> Site Hierarchy -> имя сайта -> Site Settings -> Site Systems» и в свойствах сервера на вкладке «Reporting Point» поставьте галочку «Use this site system as a reporting point». Теперь переходим непосредственно к составлению отчета: не закрывая консоль SMS Administrator Console, найдите «Reporting > Reports» и выберите нужный, например «Computers with low memory». Чтобы запустить этот отчет на выполнение, щелкните по нему правой кнопкой мыши: «All Tasks -> Run -> имя компьютера». В появившемся окне введите пароль, а в строке «Mb of Memory» окна отчета – объем памяти с меньшим значением которого, нас интересуют компьютеры. Для завершения запроса нажмите кнопку «Display». Чтобы использовать в отчетах графики, на компьютере с Reporting Point надо установить Microsoft Office 2000 или выше. Просматривать отчеты можно с клиента, на котором установлен Internet Explorer 5.01 SP2 и выше, по адресу http://имя сервера/smsreporting-код сайта. Для того чтобы каждый раз не задавался вопрос об имени пользователя и пароле, надо внести учетную запись пользователя в группу SMS Reporting Users.
В контейнере «Reporting» консоли SMS Administrator Console присутствует еще пункт «Dashboards». В «Dashboards» можно помещать группу взаимосвязанных отчетов, которым не передаются никакие параметры. Отчеты располагаются на одной странице, что довольно удобно при просмотре – недаром Microsoft использовала для этого пункта очень удачное название – приборная доска.
Устанавливаем программное обеспечение по сети
В большой сети, даже если требуется установить небольшое обновление или новую программу на все компьютеры или на какую-то их определенную часть, уходит много времени, особенно если делать это вручную, даже при помощи программ удаленного управления. Применение групповых политик не так просто и не так гибко, как применение для этой цели средств SMS – Software Distribution. Одно из больших преимуществ SMS при установке ПО – использование сервиса BITS. Он позволяет использовать докачку файла при возникновении сбоя при передаче. Эта технология доступна только для Advanced Clients. При инсталляции ПО средствами SMS гораздо легче отследить ход установки на всех компьютерах через отчеты об установке или через Software metering.
Как обычно, начинаем с настройки сервера SMS: в консоли SMS Administrator Console раскройте узел «Site Database -> Site Hierarchy -> имя сайта -> Site Settings -> Site Systems». В свойствах сервера на вкладке Distribution Point (рис. 7) установите флажок «Use this site system as a distribution point» и «Enable Background Intelligent Transfer Service (BITS)». Перейдите в контейнер «Client Agents» и в свойствах «Advertised programs Client Agent» поставьте флажок «Enable software distribution to clients». На вкладке «Notification» установите по своему вкусу параметры оповещения об установке программ. Для первого раза стоит включить извещение об установке, но, когда все будет отлажено, лучше его убрать, так как это избавит вас от лишних вопросов пользователей. В контейнере «Component Configuration» в свойствах «Software Distribution» укажите учетную запись администратора домена для «Advanced Clients» и учетную запись администратора, под которой будет выполняться установка для «Legacy Clients» (рис. 8). Для уменьшения времени обновления информации об изменении статуса сервера SMS на клиентах можно проделать те же операции, что и при проведении инвентаризации оборудования и ПО.
Рисунок 7. Назначение серверу SMS роли Distribution Point
Рисунок 8. Установка параметров Software Distribution
Создаем пакеты для распространения
Рассмотрим на примере вариант установки ПО на все компьютеры сети. Пусть требуется для решения производственной задачи установить NetFrameWork. В исходном виде программа доступна в виде одного самораспаковывающегося exe-файла. Извлеките из него все файлы, среди которых будет и msi-файл, который позволяет выполнить установку с необходимыми параметрами, например, без перезагрузки и в тихом режиме. Отмечу, что в отличие от других средств сетевой установки, таких как групповые политики, не требуется преобразовывать установочный файл в формат msi.
Единственное замечание – если нужна скрытая от пользователя установка, то предварительно надо либо воспользоваться параметрами командной строки, либо перепаковать инсталлятор. Далее поместите установочные файлы в общедоступный по сети каталог. Теперь нужно сформировать установочный пакет для SMS. Для этого в консоли SMS Administrator Console щелкните правой кнопкой мыши по контейнеру «Packages» и выберите из контекстного меню «New -> Package» (рис. 9). Введите название пакета, например NetFrameWork, на вкладке «Data Source» установите флажок напротив «This package contains source files» и укажите к ним путь в поле «Source directory». Пакет может состоять и из одного файла, тогда указывать здесь его не нужно. Теперь раскройте контейнер с вновь созданным пакетом и щелкните правой кнопкой по «Distribution Points -> New -> Distribution Points» и выберите компьютер в качестве «Distribution Point», установив соответствующий флажок. Для того чтобы уже непосредственно задать параметры установки новой программы, перейдите к контейнеру «Programs», «New -> Program» (рис. 10). В поле «Command line» введите команду установки (имя установочного файла с необходимыми ключами). Для того чтобы установка проходила скрытно от пользователя, отметьте режим Hidden. На вкладке «Environment» из списка «Program can run» выберите пункт «Whether or not a user is logged on». В таком случае программа установки запустится независимо от того, зарегистрировался пользователь или нет. Тип запуска выберите «Run with administrative rights» и поставьте галочку напротив «Use Software installation account». Для того чтобы полностью исключить любые уведомления пользователя об установке программы, на вкладке «Advanced» установите флажок «Suppress program notifications». Последняя вкладка «Windows Installer» необходима лишь в том случае, когда дистрибутив программы состоит из нескольких файлов, среди которых есть файл с расширением *.msi. Если такой файл отсутствует или установочная программа состоит вообще из одного установочного файла с расширением *.exe, то на этом настройка программы инсталляции заканчивается. В нашем случае нажмите на вкладке «Windows Installer» кнопку «Import» и найдите файл netfx.msi. Сохраните изменения, и теперь можно переходить непосредственно к установке программы.
Рисунок 9. Создание пакета NetFrameWork
Рисунок 10. Настройка параметров установки новой программы (NetFrameWork)
Распространение программного обеспечения
Проще всего для этой цели воспользоваться мастером. Для этого щелкните правой кнопкой мыши на выбранной коллекции: «All Tasks -> Distribute Software». Все значения можно оставить по умолчанию, остановимся поподробнее только на шаге «Assign Program». В случае выбора пункта «Do not assign the program» программа будет доступна для установки (в меню «Add or Remove Programs»), но не будет установлена автоматически. Выберите пункт «Assign Program». После завершения работы мастера в контейнере «Advertisements» появится новое уведомление. Просмотрев его свойства, можно настроить дополнительные параметры, например, расписание Schedule. Обычно выбирается пункт «Assign Immediately after this event: as soon as possible». Для реального пакета можно уже настраивать расписание по своему усмотрению. Все ли в порядке с пакетом, можно просмотреть через «System Status -> Advertisement Status > название уведомления и через «System Status -> Package Status -> название пакета». В обоих случаях по правому щелчку мышкой на названии сайта выберите «Show Masseges -> All». Также проверить корректность создания пакета можно, просмотрев каталог X:SMSPKGX$, где X – имя диска, на котором находится этот каталог (по умолчанию на С). Не забывайте, что «сразу, как только возможно» не значит, что установка начнется мгновенно. Для ускорения этой процедуры необходимо произвести обновление политики на клиенте, как и во всех предыдущих случаях. Через некоторое время (минут 10-15), начнется установка. Этот момент вы легко отследите, если был выбран тип установки с оповещениями.
ПО устанавливается на основе коллекций, присутствующих в SMS. Но можно создавать и свои коллекции и уже на их основе осуществлять распространение программ. В частности, если нужно произвести установку на один компьютер, то для него создается отдельная коллекция. Проще всего это сделать с помощью мастера, щелкнув правой кнопкой на нужном компьютере и выбрать пункт «All Tasks -> Distribute Software».
Для централизованной установки обновлений в SMS используется набор утилит SMS 2003 Software Update Scanning Tools, который можно скачать с сайта Microsoft. В стандартную поставку SMS этот набор не входит. Эти утилиты позволяют обновлять операционные системы Microsoft, включая Windows NT 4.0 SP5, а также Microsoft Office и Exchange Server, создавать отчеты об установке обновлений.
Удаленное управление в SMS 2003
SMS 2003 не был бы законченным продуктом, если бы в нем не была предусмотрена возможность удаленного управления. Для этой цели служит набор инструментов SMS Remote Tools. Если вы привыкли к другим программным продуктам, таким как DameWare, возможностей, предоставляемых SMS, вам будет явно мало. Но основные действия SMS Remote Tools позволяют производить: непосредственно удаленное управление, перезагрузку удаленного компьютера, чат, передачу файлов и запуск приложений на удаленном компьютере. Помимо этого имеется возможность использовать встроенные средства Windows XP и Windows 2003: Remote Assistance и Remote Desktop.
Чтобы воспользоваться «Remote Tools», необходимо, как обычно в консоли SMS Administrator Console раскрыть узел «Site Database -> Site Hierarchy -> имя сайта -> Site Settings -> Client Agents» и разрешить использование Remote Tools на клиентах, установив соответствующий флажок в свойствах «Remote Tools Client Agent». Там же на вкладке Policy можно настроить необходимые разрешения для удаленного управления, а на вкладке «Notifications» – уведомления о подключении на удаленном компьютере. Как обычно, для ускорения обновления политики на клиентском компьютере можно воспользоваться аплетом «Systems Management» в панели управления и на вкладке «Actions» запустить «Initiate Action для Machine Policy Retrieval» и для «User Policy Retrieval». Для того чтобы воспользоваться «Remote Tools», щелкните правой кнопкой мыши на имени компьютера из нужной коллекции в консоли SMS Administrator Console, далее из контекстного меню «All Tasks -> Start Remote Tools». В открывшемся окне из меню «Tools» выберите «Remote Control», чтобы начать работу с удаленным рабочим столом. Останавливаться подробно на удаленном администрировании я не буду. Хочется только отметить, что помимо пункта «Start Remote Tools» из контекстного меню, доступного по нажатию правой кнопки мыши на объекте выделенного компьютера, есть еще пункты «Start Event Viewer», «Start Windows Diagnostics» и «Start Windows Performance Monitor», которые позволяют получить дополнительные сведения об удаленном компьютере. Эти пункты доступны только для «Advanced Clients». Для «Legacy Clients» в окне «Remote Tools» из панели инструментов доступны вкладки «Windows Memory» и др.
Все возможности продукта компании Microsoft – SMS 2003 невозможно описать на страницах журнала. Но, разобравшись с базовыми принципами вы можете двигаться дальше и настраивать его под конкретные задачи, ведь рассмотренная конфигурация не единственно возможная. Следующий этап, особенно для крупных компаний, – охват удаленных филиалов и мобильных пользователей.
Настройка SMS 2003 – непростая задача и требует максимум терпения, но время, потраченное на освоение и настройку SMS, окупится сторицей. И не раз вы будете вспоминать добрым словом этот продукт, когда срочно понадобится вывести отчет по парку вычислительной техники по какому-либо нестандартному критерию, а у вас и обычный-то список уже устарел, или понадобится установить новое ПО на сотни компьютеров, причем немедленно. Стабильно работающий и должным образом настроенный SMS существенно сократит время, затрачиваемое на рутинную работу по инвентаризации и обновлению.