- Что говорит законодательство об инвентаризации компьютеров?
- Введение
- ↓ возможности программы ↓
- Необходимые настройки
- Удаленный реестр
- 10 лучших программ для инвентаризации сетей 2022: сравнение цен и возможностей.
- Реализация
- WMI-запросы через DCOM
- Мониторинг удаленного доступа к WMI-объектам и запуска процессов
- Мониторинг удаленного доступа к реестру
- WMI-запросы через WinRM
- Предоставление дополнительных прав доступа
- 1. Предоставление полномочий на просмотр установленных обновлений ОС
- 2. Предоставление удаленного доступа на просмотр состояния служб Windows
- Удаленные оболочки с минимальными правами доступа
- 2. Windows Remote Shell
- Версии: обычная и pro
- Видео-обзор
- Возможности программы
- Достижения
- Инвентаризация
- Инвентаризация компьютеров в домене. лень-двигатель прогресса
- Методы проведения инвентаризации компьютеров: автоматизируем все этапы данной процедуры
- Нам доверяют
- Настройка автоматической генерации отчетов
- Преимущества
- Создание отчета по запросу
- Инвентаризация пк по сети: заключение
- Отзывы
- Заключение
Что говорит законодательство об инвентаризации компьютеров?
Исходя из положений, описанных в законодательстве РФ, каждое предприятие с собственным парком компьютеров должно проводить инвентаризацию компьютеров не реже, чем 1 раз в год, перед тем, как приступить к формированию годовых бухгалтерских смет (как правило, в большинстве компаний инвентаризация приходится на период декабря-января).
Что касается более частой реализации сего мероприятия, это делается уже на личное усмотрение владельцев предприятия, и законом никак не регулируется.
Отдельно стоит упомянуть тот факт, что внеплановая инвентаризация также может проводиться и по мере замены отдельных деталей в некоторых ПК (например, по причине ремонта или модернизации).
Ввиду того, что подобную информацию хранит, как правило, только IT-отдел (т.е., в большинстве случаев, она не доходит до бухгалтерии – отдела, которому, собственно, и поставляются конечные отчеты об инвентаризации), переучет компьютерного парка специалисты рекомендуют проводить как можно чаще (крупные организации практикуют данную процедуру, как минимум, единожды за квартал).
Более подробно о законодательной подоплеке инвентаризации можно узнать из
Федеративного закона № 402методических указаний РФ № 49
Введение
Для начала определимся с терминами. Актив в контексте ИБ – это сущность, имеющая ценность для организации, использующаяся для достижения целей организации, являющаяся объектом защиты и атаки с целью нарушения свойств безопасности. Активы бывают материальные (например, программное и аппаратное обеспечение, платформа, устройство) и нематериальные (например, информация, данные, торговая марка, лицензия, патент, интеллектуальная собственность, репутация).
Управление активами (англ. Asset Management) — это систематический процесс, включающий в себя экономически эффективное создание, использование, поддержку, обновление и вывод из эксплуатации активов (т.е. стадии жизненного цикла ИТ-актива). Важность управления активами подчеркивается в российских и зарубежных законах и стандартах.
Так, в методическом документе ФСТЭК России «Методика оценки угроз безопасности информации» в п. 2.2 пп. «б)» указано, что одна из основных задач, решаемых в ходе оценки угроз безопасности информации — это инвентаризация систем и сетей и определение возможных объектов воздействия угроз безопасности информации.
Методический документ ФСТЭК России «Меры защиты информации в государственных информационных системах» в качестве способа обеспечения информационной безопасности указывает контроль состава технических средств, программного обеспечения и средств защиты информации, применяемых в информационной системе (мера АНЗ.4).
Приказ ФСТЭК России №239 «Об утверждении требований по обеспечению безопасности значимых объектов КИИ РФ» предписывает осуществлять инвентаризацию информационных ресурсов (мера АУД.1). В зарубежных стандартах и рекомендациях также подчеркивается важность проведения инвентаризации.
Так, в стандарте ISO 27001:2022 присутствует контроль A.8.1.1 ”Inventory of assets”. Публикация NIST SP 800-53 включает нормы CM-8 ”System component inventory” и PM-5 ”System inventory”. Кроме того, NIST “Cybersecurity Framework” содержит контроли ID.AM-1 и ID.
AM-2, посвященные инвентаризации соответственно физических устройств и систем, программных платформ и приложений, а в публикации NIST SP 1800-5 ”IT Asset Management” («Управление ИТ-активами») перечислены требования к эффективной системе управления ИТ-активами.
Среди специализированных систем для управления ИТ-активами стоит отметить системы класса CMDB (Configuration Management Database, база данных управления конфигурацией), которые предназначены для хранения, обработки, поддержания в актуальном состоянии информации об активах и их взаимосвязях.
Программные (например, ОС, ПО, файлы) и аппаратные (например, серверы, ПК, сетевые устройства) активы в терминологии CMDB называются CI (Configuration Items, конфигурационные единицы). Системы CMDB постепенно эволюционировали в многофункциональные решения для управления активами (ITAM, IT Asset Management), которые включают в себя такие функции, как первоначальное наполнение информацией об активах, обогащение и поддержание сведений в актуальном состоянии и автоматизация данного процесса, интеграция с разнообразными системами, содержащими ценную информацию об ИТ-активах.
↓ возможности программы ↓
Некоторые владельцы компаний до сих пор не понимают, почему так необходима программа для инвентаризации и учета компьютеров? Во многих организациях, которые постоянно расширяют парк рабочих ПК, остро встает вопрос о необходимости ведения мониторинга систем, а также инвентаризации техники. Специалисты должны постоянно контролировать список установленных программ, изменение основных конфигураций, а ручная опись состояния каждого компьютера иногда бывает просто невозможна. Для оптимизации процесса ведения учета была разработана специальная
программа инвентаризации компьютеров в сетиTotal Network Inventory 5
Необходимые настройки
1. Сетевые настройки: WMI – это протокол прикладного уровня, работающий поверх протокола прикладного уровня DCOM, который в свою очередь работает поверх протокола сессионного уровня MS RPC. Первоначальное соединение устанавливается по TCP:135, затем по согласованию между клиентом и сервером выбирается динамический TCP-порт.
Для выбора какого-либо конкретного диапазона портов для DCOM-взаимодействия можно открыть оснастку управления DCOM (dcomcnfg), в ветке «Службы компонентов» открыть свойства сущности «Мой компьютер» и в открывшемся окне перейти на вкладку «Набор протоколов», где можно будет добавить произвольный диапазон портов (рекомендуется указывать диапазон не менее 1000 портов).
Кроме указанного способа на ОС старше Windows Server 2008 для настройки выделенного порта для удаленного подключения WMI можно перейти в настройки управления DCOM (dcomcnfg), в ветке «Службы компонентов» открыть «Мой компьютер», далее открыть вкладку «Настройка DCOM» и открыть свойства приложения «Windows Management and Instrumentation».
Далее на вкладке «Конечные узлы» нужно нажать кнопку «Добавить», в открывшемся окне в выпадающем списке последовательности протоколов выбрать «TCP/IP с ориентацией на подключение» и, переключив radio-button в значение «Использовать статический узел», ввести номер желаемого TCP-порта, например TCP:31000.
Далее, в соответствии с рекомендациями вендора, в командной строке нужно выполнить команду
winmgmt -standalonehost
и затем перезапустить службу «Инструментарий управления Windows» (Windows Management Instrumentation, winmgmt ), например, командами
net stop winmgmt /yes && net start winmgmt
Затем нужно разрешить входящие WMI-подключения на выбранный порт TCP:31000 в Windows Firewall, создав новое правило «WMIFixedPort» командой
netsh advfirewall firewall add rule name=»WMIFixedPort» dir=in action=allow protocol=TCP localport=31000 enable=yes profile=domain
Отмену изменений можно осуществить командой
winmgmt -sharedhost
с последующим перезапуском службы winmgmt. Затем созданное на Windows Firewall правило можно отключить или удалить.
2. Для работы с WMI должна быть запущена служба «Инструментарий управления Windows» (Windows Management Instrumentation, winmgmt ).
Удаленный реестр
Получение инвентаризационных данных через удаленный реестр настраивается достаточно просто и не требует никаких прав на целевом устройстве (за исключением настройки DACL на определенные ветки реестра, описываемые далее). Минусом данного метода может быть потребность в дополнительной обработке получаемых данных, если они передаются не в human-readable формате.
10 лучших программ для инвентаризации сетей 2022: сравнение цен и возможностей.
Инвентаризация компьютеров и устройств в сети является неотъемлемой частью обслуживания парка техники в организации любых размеров. Учет компьютеров и оборудования позволяет поддерживать технику в актуальном состоянии и избежать лишних трат на её обслуживание.
Сбор информации о каждом устройстве вручную уже давно не актуален ввиду своей трудоемкости. Решить поставленную задачу и получить максимально точную информацию в кратчайшие сроки позволяют специальные программы для инвентаризации сети. Один раз настроив такую программу, вы сможете в любое время получить подробную и актуальную сводку по каждому устройству, а также узнаете о любых изменениях в сети, требующих вашего внимания.
В этой статье мы рассмотрим самые популярные решения для учета, доступные на рынке в 2022 году.
Open-AudIT представляет собой программу для инвентаризации с открытым исходным кодом. Данное приложение довольно популярно благодаря наличию полностью бесплатной версии, предлагающей базовый функционал для инвентаризации.
В целом программа имеет очень приятный и удобный в работе интерфейс, а карта сети поддерживает интеграцию с Google maps, что доступно не во всех конкурентных продуктах.
Сбор информации о Windows-устройствах программа выполняет через опрос WMI, что в некоторых случаях может давать неполную информацию по сравнению с низкоуровневым сканированием устройств. Тем не менее, такое ПО не требует длительной настройки и позволяет быстро опросить парк техники выполняя минимальную предварительную настройку.
Расширенный функционал, включая карту сети, экспорт устройств и персонализируемые отчёты доступны только в платной версии программы, которая также включает в себя полноценную коммерческую поддержку.
Стоимость лицензии: бесплатно для Community edition. $1,199.00 (USD) за лицензию Enterprise на 100 устройств (минимальная лицензия).
Реализация
Произведенные настройки дают возможность выполнения WMI-запросов и запуска WMI-методов на сканируемых ПК, которые могут выполняться в «классической» утилите wmic (Windows Management Instrumentation Command) и через PowerShell-командлет Get-WmiObject.
Приведем примеры полезных WMI-команд с некоторыми пояснениями.
Получение имен сетевых адаптеров на удаленном ПК с именем pcname.domain.local через PowerShell-командлет Get-WmiObject будет выглядеть так:
Get-WmiObject -ComputerName pcname.domain.local -Class Win32_NetworkAdapter | format-list Name
Этот запрос соответствует короткой записи с помощью PowerShell-алиасов:
gwmi -cn pcname.domain.local Win32_NetworkAdapter| fl Name
Данные запросы можно выполнить и без PowerShell, с помощью утилиты wmic. Так, команда
wmic /node:»pcname.domain.local» path Win32_NetworkAdapter get name
выполнит запрос WMI-класса Win32_NetworkAdapter и вернет список имен сетевых адаптеров.
Команда
wmic /node:»pcname.domain.local» nic get name
выполнит аналогичный запрос WMI-класса Win32_NetworkAdapter через алиас «nic». Полный список WMI-алиасов можно посмотреть командой wmic alias list full , а краткую справку по определенном алиасу (например, по алиасу «nic») можно посмотреть к примеру так: wmic alias list brief | findstr /I nic
Просмотр всех свойств определенного WMI-класса можно осуществить дополнением команды параметром get * и, для удобства просмотра, форматированием с указателем переключателя /format с указанием формата представления, например:
wmic /node:»pcname.domain.local» os get * /format:value (команда выведет информацию об ОС удаленного устройства)
Для удобства анализа и сохранения инвентаризационной информации можно использовать иные форматы представления полученных по WMI данных, например:
wmic /node:»pcname.domain.local» /output:»c:folderfile.html» computersystem list full /format:htable (вывод общих сведений об устройстве в html-документ)
wmic /node:»pcname.domain.local» /output:»c:folderfile.csv» path Win32_OperatingSystem get * /format:csv (вывод сведений об ОС в csv-файл)
При запросе WMI-алиасов также можно использовать и команду list с разнообразными значениями, например
wmic /node:»pcname.domain.local» nic list brief (просмотр краткой информации по сетевым адаптерам)
wmic /node:»pcname.domain.local» nic list status (просмотр статуса адаптеров)
wmic /node:»pcname.domain.local» nic list full /every:5 (запрос и интерактивное обновление информации каждые 5 секунд)
Более подробную информацию по форматам вывода можно получить в справке: wmic aliasname list /? (где aliasname — имя алиаса, например, nic)
Для уточнения интересующей инвентаризационной информации можно воспользоваться возможностями запросов в формате WQL (WMI Query Language), например, для выборки только физических сетевых адаптеров:
wmic /node:»pcname.domain.local» nic WHERE PhysicalAdapter=’true’ get * /format:value
что соответствует запросу
wmic /node:»pcname.domain.local» path Win32_NetworkAdapter WHERE PhysicalAdapter=’true’ get * /format:value
или через PowerShell
gwmi -cn pcname.domain.local -Query «Select * from Win32_NetworkAdapter WHERE PhysicalAdapter=’true’ » | fl *
Отметим, что по умолчанию и в PowerShell, и в wmic используется WMI-пространство имен «RootCimv2». Если запрашиваемая информация находится в другом подпространстве, то это надо указать явно, не забывая при этом, что права доступа на такое подпространство WMI могут и не наследоваться от корневого.
wmic /node:»pcname.domain.local» /namespace:»\RootCIMV2SecurityMicrosoftVolumeEncryption» path Win32_EncryptableVolume get * /format:list
gwmi -cn pcname.domain.local -namespace:»RootCIMV2SecurityMicrosoftVolumeEncryption» -class Win32_EncryptableVolume | fl *
Для вывода данных о BIOS и модели удаленного устройства можно использовать команды:
wmic /node:»pcname.domain.local» /namespace:»\Rootwmi» path MS_SystemInformation get * /format:value
gwmi -cn pcname.domain.local -namespace:»Rootwmi» -class MS_SystemInformation | fl *
Для получения данных об установленном антивирусном средстве нужно опросить пространства имен RootSecurityCenter (для версий ОС Windows XP/2003 и ниже) или RootSecurityCenter2 (для версий ОС Windows Vista/2008 и выше):
wmic /namespace:»\RootSecurityCenter2″ path AntivirusProduct get * /format:value
gwmi -cn pcname.domain.local -namespace:»RootSecurityCenter2″ -class AntivirusProduct | fl *
WMI-запросы через DCOM
Среди преимуществ инвентаризации с использованием WMI-запросов можно выделить нативную поддержку WMI во всех ОС семейства Microsoft Windows начиная с Windows 98 и до самых актуальных версий данной ОС. К числу минусов отнесем относительную нетривиальность корректной настройки WMI для удаленного подключения с минимально необходимыми правами, а также небезопасность некоторых настроек WMI по умолчанию.
Мониторинг удаленного доступа к WMI-объектам и запуска процессов
Для аудита действий с WMI-объектами следует включить политику Computer ConfigurationWindows SettingsSecurity SettingsAdvanced Audit Policy Configuration Audit Policies Object Access Audit other object access events — Enable ( Конфигурация компьютера Конфигурация Windows Параметры безопасности Конфигурация расширенной политики аудита Политики аудита системы Доступ к объектам Аудит других событий доступа к объектам — Включить).
Далее нужно настроить SACL (разрешения аудита) на те WMI-объекты, доступ к которым следует контролировать.
Выполненные настройки аудита определенных WMI-объектов можно централизованно применить в домене по аналогии с распространением настроек DACL — через запуск на устройствах VBS-скрипта, содержащего команду на установку требуемого SACL для аудита WMI-объектов.
После перезапуска службы «Инструментарий управления Windows» (Windows Management Instrumentation, winmgmt) в случае доступа (и локального, и удаленного) к контролируемым WMI-объектам в журнале «Безопасность» (Security) на удаленном устройстве будут создаваться события EventID=4662 с указанием имени УЗ, выполнившей WMI-запрос, самого WMI-запроса и имени опрошенного адресного пространства WMI.
Мониторинг удаленного доступа к реестру
Для аудита действий с ветками реестра следует включить политику Computer ConfigurationWindows SettingsSecurity SettingsAdvanced Audit Policy Configuration Audit Policies Object Access Audit Registry — Enable ( Конфигурация компьютера Конфигурация Windows Параметры безопасности Конфигурация расширенной политики аудита Политики аудита системы Доступ к объектам Аудит реестра — Включить). Далее нужно настроить SACL (разрешения аудита) на те ветки реестра, доступ к которым следует контролировать.
Выполненные настройки аудита определенных веток реестра можно распространить в домене через соответствующие объекты GPO. После перезапуска службы «Удаленный реестр» (RemoteRegistry) в случае доступа (и локального, и удаленного) к контролируемым веткам реестра в журнале «Безопасность» (Security) будут создаваться события EventID=4663 с указанием имени УЗ, получившей доступ, имени процесса и ветки реестра.
WMI-запросы через WinRM
Рассмотренный ранее способ инвентаризации удаленных Windows-устройств с помощью WMI-запросов через протокол DCOM на современных ОС, начиная с Windows 7/2008R2, может быть заменен на работу с Common Information Model, т.е. на опрос CIM-объектов с помощью механизма Windows Remote Management (WinRM, использует протокол WSMan (WS-Management, Web Services for Management))
и PowerShell-командлетов Get-CimInstance и Invoke-CimMethod, которые заменили соответственно устаревшие командлеты Get-WmiObject и Invoke-WmiMethod. Функционал создания удаленных CIM-сессий позволяет явно указать протокол удаленного подключения (DCOM или WSMan) на основе результатов работы командлета Test-WSMan, который возвращает версию стека протокола WS-Management.
По умолчанию для ОС Windows 8/2022 и выше используется версия 3.0, для ОС Windows 7/2008R2 — версия 2.0, а для ОС Windows XP/2003/2008 и ниже механизм WinRM и протокол WS-Management по умолчанию не устанавливались, но могли быть проинсталлированы дополнительно.
Предоставление дополнительных прав доступа
Описанные в предыдущем пункте ограниченные привилегии позволяют выполнять многие CIM/WMI-запросы и методы. Однако, в ОС Windows есть определенные ограничения, которые не позволяют удаленно выполнять определенные действия — например, просматривать список выполняющихся служб или получать список установленных обновлений ОС на удаленном ПК.
Разумеется, при выполнении инвентаризационных запросов от УЗ, обладающей правами локального администратора на удаленном устройстве, данных ограничений не будет, однако, как мы уже говорили в начале статьи, использование прав локального админа на удаленных ПК может представлять собой угрозу ИБ.
1. Предоставление полномочий на просмотр установленных обновлений ОС
Выполнив приведенные ранее настройки, мы по умолчанию не сможем получить список установленных на удаленном устройстве обновлений ОС, т.е. WMI-запросы класса win32_QuickFixEngineering не будут возвращать результат. Это связано с тем, что у сканирующей УЗ нет удаленного WMI/DCOM-доступа к сервису «TrustedInstaller», который предоставляет данные об установленных обновлениях.
Для того, чтобы предоставить такой доступ, можно воспользоваться рекомендациями и открыть настройки управления DCOM (dcomcnfg), в ветке «Службы компонентов» открыть «Мой компьютер», далее открыть вкладку «Настройка DCOM» , открыть свойства приложения «Trusted Installer Service» и на вкладке «Безопасность» просмотреть настройки пункта «Разрешения на запуск и активацию» (права «Удаленная активация» и «Удаленный запуск» должны быть предоставлены для сканирующей УЗ)
и пункта «Разрешения на доступ» (право «Удаленный доступ» должно быть предоставлено для сканирующей УЗ). Если доступ к изменению настроек безопасности отсутствует, то следует по «Коду приложения» (Application ID) приложения «Trusted Installer Service», который указан на вкладке «Общие», найти ветку реестра HKLMSOFTWAREClassesAppID{идентификатор приложения} и в ней сделать владельцем сканирующую УЗ и дать ей разрешение на изменение данного ключа.
После этого следует вернуть в оснастку dcomcnfg и проверить, что появился доступ к изменению настроек безопасности приложения «Trusted Installer Service». Далее следует открыть настройки пункта «Разрешения на запуск и активацию» (предоставить для сканирующей УЗ права «Удаленная активация» и «Удаленный запуск»)
и пункта «Разрешения на доступ» (предоставить для сканирующей УЗ право «Удаленный доступ»). После этого следует вернуться в редактор реестра и вернуть в исходное состояние разрешения и владельца ветки реестра HKLMSOFTWAREClassesAppID{идентификатор приложения}.
Для централизованного распространения указанных изменений доступа к приложению «Trusted Installer Service» можно сделать экспорт значений параметров AccessPermission и LaunchPermission из ветки реестра HKLMSOFTWAREClassesAppID{идентификатор приложения} с настроенной системы, а затем через соответствующую групповую политику распространить данные значения на все сканируемые устройства.
После применения данных настроек потребуется сделать рестарт службы «Установщик модулей Windows» (Windows Modules Installer, TrustedInstaller). Таким образом, от удаленных систем в целях инвентаризации можно будет запрашивать список установленных обновлений ОС с помощью WMI-запросов вида:
wmic /node:»pcname.domain.local» qfe list full /format:table
или
gwmi -ComputerName pcname.domain.local -Class win32_QuickFixEngineering | fl *
или
Get-CimInstance -ComputerName pcname.domain.local -Class win32_QuickFixEngineering | fl *
2. Предоставление удаленного доступа на просмотр состояния служб Windows
По умолчанию, удаленный просмотр списка запущенных на удаленном устройстве служб доступен только членам группы локальных администраторов, и это ограничение устанавливается системным диспетчером управления службами SCM (Service Control Manager), который отвечает в том числе за предоставление информации о состоянии запущенных на устройстве служб Windows. Для предоставления доступа сканирующей УЗ следует выполнить несколько описанных ниже действий.
Сначала требуется узнать SID сканирующей УЗ, например, командой
Удаленные оболочки с минимальными правами доступа
У администраторов может возникнуть потребность в получении оперативной информации о состоянии ИТ-актива, например, списка запущенных процессов или активных сетевых соединений. Для решения таких задач на ОС, начиная с Windows 7/2008, можно применять утилиты удаленного управления PowerShell Remoting и Windows Remote Shell.
Оба варианта используют механизм WinRM (протокол WSMan) и оба предоставляют возможность работы с удаленными устройствами в интерактивном режиме. Обе настройки требуют сетевой доступности сканируемого устройства по TCP:5985, наличие запущенной «Службы удаленного управления Windows» (Windows Remote Management (WS-Management), WinRM) и разрешение на удаленное управление через PSRemoting/WinRM, настроенное командами либо Enable-PSRemoting (для PowerShell Remoting), либо winrm qc (для Windows Remote Shell), либо через политику «Разрешить удаленное администрирование сервера средствами WinRM».
2. Windows Remote Shell
Для настройки оболочки Windows Remote Shell на удаленном устройстве надо будет выполнить
winrm configSDDL default
В открывшемся окне для сканирующей УЗ следует предоставить права «Чтение» / Read (Get,Enumerate,Subscribe) и «Выполнение» / Execute (Invoke).
Данные настройки хранятся в ветке реестра KLMSOFTWAREMicrosoftWindowsCurrentVersionWSMANService в строковом параметре rootSDDL, который содержит настроенные права доступа в SDDL-синтаксисе.
Версии: обычная и pro
Таблица отличий между версиями:
Подробнее о версии Pro с SAM-функциями >>
Посмотреть цены и доплатить можно здесь >>
При покупке лицензии вы получите подписку на бесплатные обновления программы и тех. поддержку в течение одного года. Мы не забрасываем наш проект и постоянно развиваем его уже более 12 лет (с 2006 года).
Видео-обзор
Мы создали небольшой видео-ролик чтобы просто и быстро рассказать вам о возможностях программы и принципах её работы. Рекомендуем посмотреть! 🙂 В ролике рассмотрены: сканирование компьютеров (сбор данных), создание отчетов по программам и железу ПК, анализ изменений, складской учет, диагностика неполадок.
Возможности программы
Достижения
Лауреат премии «Российское ПО 2022: инновации и достижения» журнала PC Magazine.
14.12.2022: «ПК опрашиваются в фоновом режиме, предоставляя администратору актуальные отчеты о комплектующих и программах, установленных на компьютерах.
Пакет позволяет загружать информацию с ПК за маршрутизаторами и NAT, извлекать данные с ноутбуков и Android-гаджетов мобильных сотрудников.»
Лауреат награды «PC Magazine/RE. Лучшее ПО 2022 г.»
12.12.2022: «Удобная система инвентаризации ИТ-инфраструктуры, что особенно полезно в компаниях СМБ с их «зоопарком» оборудования. Система фиксирует марки оборудования, конфигурацию ПК, версии ПО и лицензии.
Одна из самых полезных возможностей — отслеживание изменений в оборудовании, дающая возможность обнаруживать выход из строя, пропажу или подмену комплектующих.»
02.10.2007: «Мощный инструмент для централизованной инвентаризации аппаратного и программного обеспечения компьютеров локальной сети. Позволяет обнаруживать компьютеры в сети и собирать информацию о них в базу данных…
Возможность выбора в отчет компьютеров, конфигурации которых удовлетворяют заданному условию, упрощает решение таких задач, как планирование модернизации.»
Инвентаризация
Компаниям из сегментов среднего и малого бизнеса применение полноценных масштабных CMDB/ITAM-решений может показаться избыточным, поэтому мы приведем далее некоторые практические рекомендации по получению инвентаризационных данных «своими силами» без дополнительных финансовых затрат.
Сфокусируемся на использовании штатного функционала ОС (возьмем доменную инфраструктуру на базе ОС Windows как наиболее часто встречающуюся) с использованием минимальных привилегий в инфраструктуре, руководствуясь принципом «least privilege». Сразу оговоримся, что некоторые из приведенных ниже способов могут использоваться и злоумышленниками, производящими рекогносцировку, закрепление и дальнейшее продвижение в сети атакованной компании, поэтому следует контролировать выполнение подобных запросов в защищаемой инфраструктуре (практические рекомендации по такому мониторингу мы дадим по тексту).
Инвентаризация компьютеров в домене. лень-двигатель прогресса
Всех приветствую.
Недавно начальство попросило меня подумать над вопросом о сборе информации о комплектации компьютеров у нас в домене. Сначала просьба была только на счет процессоров памяти и жестких дисков. Первая мысль — хождение по отделам и просьба освободить компьютер на минутку. В случае с 1 компьютером не сложно, но если их 1500. Мысли были направленны в сторону PowerShell.
Для начала надо было извлечь список всех компьютеров в домене. В данном примере мой домен Test.lan. Импортируем весь этот список в файл AllComputers.csv.
Для этого не забываем добавить модуль АД для PS. У меня на рабочем месте он прописан в профиле, и вам советую сделать тоже самое:
import-module activedirectory
get-ADcomputer -Filter * |
Where-Object {$a=$_.name; $_.DistinguishedName -ne "CN=$a,OU=Disable,DC=Test,DC=lan"} |
Sort-Object name | Select-Object name | Export-csv C:InventAllComputers.csv -NoTypeInformation
Здесь надо пояснить, что у меня в домене есть папка Disable, где располагаются учетные записи всех отключенных компьютеров. Если они отключены, то какой смысл к ним стучаться. По этому эту папку мы исключаем из поиска.
Всем понятно, что далеко не все компьютеры, которые находятся в домене, включены, работают или вообще имеют место быть. По этому перед тем, как перейти к проверке, мы проверяем связь с ним. Конечно можно этого не делать, если у вас 100 компьютеров. А если у вас 2000 компьютеров, потеря времени при количестве выключенных компьютеров порядка 800 съест у вас не мало времени. Так же стоит сразу вспомнить компьютеры, к которым у нас нет доступа. Так же смысла стучаться в их дверь нет.
import-csv c:InventAllComputers.csv | foreach {
$a=$_.name
if ((Test-connection $a -count 2 -quiet) -eq "True")
{
if ((Get-WmiObject -computername $a Win32_OperatingSystem) -eq $null)
{
Многие могут возразить:
«Для чего такие сложности? Зачем сначала делать список а потом импортировать его. Не легче ли сразу?»
Согласен, легче. Но иметь перед глазами список компьютеров, согласитесь, приятно. К тому же, список пронумерован. И Вы всегда знаете сколько у вас компьютеров в АД.
Для теста соединения выбрал cmdlet Test-connection с параметром -quiet, дабы нам не выдавались строчки с разной информацией, а просто выдавался ответ: True or False. При чем мы сокращаем количество запросов с 2 до 4.
Если мы постучимся к компьютеру с WMI запросом, а прав на такое действие у нас нет, получим кучу строчек красного цвета с ошибками. Так что сразу отфильтровываем такие компьютеры пробным WMI запросом
Любую информацию (наверное, почти любую) можно узнать, если залезть в WMI объекты, а PS позволяет это делать просто на ура. Так что я сразу углубился в поиски нужных WMI объектов.
Здесь можно поглядеть все классы с их атрибутами.
Убедившись, что компьютер в сети, что доступ у нас к нему есть, смотрим его внутренности:
Write-Host "Проверка компьютера " -ForeGroundColor Green $a
"Компьютер" | out-file c:InventComp$a.txt
Get-WmiObject -computername $a Win32_OperatingSystem |
select-object csname, caption, Serialnumber, csdVersion |
ft @{Label="Сетевое имя"; Expression={$_.CSname}},
@{label="Наименование"; Expression={$_.caption}},
@{label="Версия"; Expression={$_.csdVersion}},
@{label="Серийный номер"; Expression={$_.SerialNumber}} -auto -wrap |
out-file c:InventComp$a.txt -append
Get-WmiObject -computername $a Win32_ComputerSystemProduct | select-object UUID |
ft UUID -autosize | out-file c:InventComp$a.txt -append
"Процессор" | out-file c:InventComp$a.txt -append
Get-WmiObject -computername $a Win32_Processor | select-object name, SocketDesignation, Description |
ft @{label="Имя"; Expression={$_.name}},
@{label="Разъем"; Expression={$_.SocketDesignation}},
@{label="Описание"; Expression={$_.Description}} -auto -wrap | out-file c:InventComp$a.txt -append
"Материнская плата" | out-file c:InventComp$a.txt -append
Get-WmiObject -computername $a Win32_BaseBoard | select-object Manufacturer, Product, SerialNumber |
ft @{label="Производитель"; Expression={$_.manufacturer}},
@{label="Модель"; Expression={$_.Product}},
@{label="Серийный номер"; Expression={$_.SerialNumber}} -auto -wrap |
out-file c:InventComp$a.txt -append
"Жесткие диски" | out-file c:InventComp$a.txt -append
Get-WmiObject -computername $a Win32_DiskDrive | select-object Model, Partitions, Size, interfacetype |
ft @{Label="Модель"; Expression={$_.Model}},
@{Label="Количество разделов"; Expression={$_.Partitions}},
@{Label="Размер (гб)"; Expression={($_.Size/1GB).tostring("F00")}},
@{Label="Интерфейс"; Expression={$_.interfaceType}} -auto -wrap |
out-file c:InventComp$a.txt -append
"Логические диски" | out-file c:InventComp$a.txt -append
Get-WmiObject -computername $a Win32_LogicalDisk -Filter "DriveType=3" | select-object DeviceID, FileSystem, Size, FreeSpace |
ft @{Label="Наименование"; Expression={$_.DeviceID}},
@{Label="Файловая система"; Expression={$_.FileSystem}},
@{Label="Размер (гб)"; Expression={($_.Size/1GB).tostring("F00")}},
@{Label="Свободное место (гб)"; Expression={($_.FreeSpace/1GB).tostring("F00")}} -auto -wrap |
out-file c:InventComp$a.txt -append
"Оперативная память" | out-file c:InventComp$a.txt -append
Get-WmiObject -computername $a Win32_Physicalmemory | Select-Object capacity, DeviceLocator |
ft @{Label="Размер (мб)"; Expression={($_.capacity/1MB).tostring("F00")}},
@{Label="Расположение"; Expression={$_.DeviceLocator}} -auto -wrap |
out-file c:InventComp$a.txt -append
"Видеокарта" | out-file c:InventComp$a.txt -append
Get-WmiObject -computername $a Win32_videoController |
Select-Object name, AdapterRAM, VideoProcessor |
ft @{Label="Наименование"; Expression={$_.name}},
@{Label="Объем памяти (мб)"; Expression={($_.AdapterRAM/1MB).tostring("F00")}},
@{Label="Видеопроцессор"; Expression={$_.VideoProcessor}} -auto -wrap |
out-file c:InventComp$a.txt -append
"Сетевая карта" | out-file c:InventComp$a.txt -append
$OS=Get-WmiObject -computername $a Win32_OperatingSystem | foreach {$_.caption}
if ($OS -eq "Microsoft Windows 2000 Professional")
{
Get-WmiObject -computername $a Win32_NetworkAdapterConfiguration -Filter "DHCPEnabled=True" |
Select-Object caption,MACaddress |
ft @{Label="Наименование"; Expression={$_.caption}},
@{Label="MAC адрес"; Expression={$_.MACAddress}} -auto -wrap |
out-file c:InventComp$a.txt -append
}
else
{
Get-WmiObject -computername $a Win32_NetworkAdapter -Filter "NetConnectionStatus>0" |
Select-Object name, AdapterType, MACAddress |
ft @{Label="Наименование"; Expression={$_.name}},
@{Label="MAC адрес"; Expression={$_.MACAddress}},
@{Label="Тип"; Expression={$_.AdapterType}} -auto -wrap |
out-file c:InventComp$a.txt -append
}
}
Вся информация о компьютере падает в текстовый файл.
Здесь стоит остановить внимание на 2 моментах.
Во-первых, строчку Write-Host "Проверка компьютера " -ForeGroundColor Green $a
я делал исключительно для себя, ибо приятно знать чем занимается в данный момент PowerShell.
Во-вторых, для чего мы перед проверкой сетевой карты проверяем ОС.
К сожалению, Windows 2000 не отвечает на запрос Win32_NetworkAdapter, по этому к ней мы применяем запрос Win32_NetworkAdapterConfiguration. Почему не оставить только последний? Можно оставить, но Win32_NetworkAdapter выдает такой атрибут, как Name, когда в его аналоге только Caption. Мелочь, а приятно.
Так же можете видеть, что при проверки сетевой карты, мы проверяем ее на работоспособность, иначе мы получим список еще из нескольких карт, которые в данный момент Вас не интересуют. Вам это надо?
Вот в принципе и все.
Скрипт можно доработать до своих потребностей.
Так что теперь начальство вряд ли напугает вас инвентаризацией компьютеров.
Методы проведения инвентаризации компьютеров: автоматизируем все этапы данной процедуры
Сегодня парк компьютеров – это неотъемлемая часть успешного функционирования любой корпорации. Ведь даже если ваша сфера деятельности далека от разработки ПО, наверняка вы используете компьютеры для обработки заказов, всевозможных расчетов, ведения баз данных, бухгалтерского учета и прочих целей.
Когда вся корпоративная техника насчитывает более 2-3 десятков единиц (более того, когда все они размещены в разных офисах), процесс их настройки и учета для системного администратора становится довольно затруднительным.
К счастью, современные технологии не стоят на месте, и сегодня процедуру инвентаризации компьютеров можно проводить удаленно, даже не выходя из собственного кабинета.
Нам доверяют
Нашими программами пользуются на тысячах предприятий, включая энергетическую, нефте- и газодобывающую промышленность, телекоммуникационные компании, банки, министерства и ведомства, коммерческие организации, бюджетные и образовательные учреждения, больницы и т.д.
Настройка автоматической генерации отчетов
Вы можете запланировать автоматическую генерацию отчетов, на жав на соответствующую иконку на панели действий на закладке Reports.
В результате этого откроется новое окно с информацией, требуемой для настройки автоматической генерации одного или нескольких отчетов.
— General
• Name: Название задачи по генерации отчета• Description: Ваше описание отчета• Schedule: Вы можете определить, когда будет запущена задача по генерации отчета• Enable: Позволяет Вам включить или отключить настройки генерации отчета, т.е. они могут быть готовы для использования, но пока не активны
— Reports: Выберите отчеты, которые необходимо сгенерировать в PDF и/или XLS
— Email recipients
• Subject: Тема письма• Text: Текст письма• Default Account Report Recipients: Отправляет отчеты на адреса почты аккаунта, установленные для всего аккаунта, которые могут быть настроены в Email Recipients в основном меню Setup• Default Site Report Recipients:
Отправляет отчеты на адреса почты аккаунта, установленные для сайта, которые могут быть настроены в Email Recipients на закладке Settings для выбранного сайта• Additional Recipients: Позволяет Вам указать дополнительные адреса электронной почты в дополнение к тем, что настроены на уровне аккаунта или сайта
ЗаключениеВ данной статье мы рассмотрели возможности удаленной и централизованной инвентаризации всего ИТ-хозяйства компании на примере использования облачного RMM-сервиса Panda Systems Management.
Очевидно, что чем больше размер компании, тем более актуальными становятся вопросы управления и контроля за ИТ-активами в режиме реального времени. Знание всей полноты информации, ее прозрачность позволяют Вам более эффективно управлять всеми ИТ-ресурсами.
Преимущества
Создание отчета по запросу
На закладке Reports в списке отчетов нажмите на требуемую иконку
Инвентаризация пк по сети: заключение
Как видим, все вышеперечисленные приложения помогают не только существенно облегчить повседневные задачи системных администраторов, но и сократить расходы на управление сетью, структура которой подразумевает рассредоточение аппаратного оборудования по нескольким физически удаленным друг от друга офисам.
Что касается нашего продукта –
Total Network Inventory 3
– мы максимально позаботились о том, чтобы сделать его очень удобным и доступным для понимания. А это значит, что совладать с ним сможет даже работник с минимальными познаниями в системном администрировании.
Отзывы
Тарасов Дмитрий Валерьевич, заместитель директора по экономике и финансам
филиал ПАО «МРСК Северо-Запада» «Комиэнерго», 18.03.2022: «Использование программы помогает нашим it-специалистам контролировать работу компьютерной техники компании, своевременно реагировать на возникающие проблемы, вести учет и планировать затраты на текущее обслуживание и модернизацию. За время эксплуатации «Инвентаризация Компьютеров» зарекомендовала себя как надежная, легкая в освоении программа.»
Евгений Николаев
УК «Петропавловск», 11.09.2022: «Наша компания начала использовать программу практически с момента её выхода. Со временем, у нас появлялись новые идеи по доработке и по внесению удобных для нас дополнений в программу. Программисты «10-Страйк» с энтузиазмом относятся к интересным предложениям и нововведениям, которые мы предлагаем. Благодаря нашему взаимодействию, программа становится всё совершеннее, функциональнее и удобнее. Программа является в нашей компании основной в инвентаризации ПО и железа.»
Арсений Осипов
18.01.2022: «Наша компания уже несколько лет использует продукт «10-Страйк: Инвентаризация Компьютеров». Хочу отметить, что данная программа экономит время наших IT-специалистов и очень удобна в использовании.»
Заключение
В данной статье мы продемонстрировали некоторые возможности по проведению ИТ-инвентаризации штатными средствами ОС Windows, используя минимальные привилегии в удаленной системе. Настройка таких гранулированных полномочий может быть небыстрой, однако эти затраты окупятся более высоким уровнем защищенности конечных систем.
Кроме того, получение и обработку данных ИТ-инвентаризации логично будет автоматизировать, также как и весь процесс управления ИТ-активами. Для автоматизации процесса можно воспользоваться, к примеру, инструментарием PowerShell, а можно использовать коммерческие продукты.
Например, модуль «Управление активами» нашего продукта Security Vision работает в безагентном режиме с использованием конструктора коннекторов и встроенного модуля сканирования, сочетающего неаутентифицированный и аутентифицированный сбор информации об активах, и позволяет не только получить инвентаризационную информацию, но и выполнить некоторые операции администрирования на устройствах, построить и проанализировать графы связей активов, визуализировать полученную информацию на географической карте и дашбордах, а также предоставить агрегированную информацию в наглядном табличном виде с учетом ролевой модели доступа пользователей к данным активов.
Механизм инвентаризации и удаленного администрирования Security Vision поддерживает функции безопасности удалённого выполнения команд акутальных версий ОС MS Windows. Это позволяет обезопасить инфраструктуру от массового заражения даже при компрометации сканирующей учетной записи.