главная    •     Новости      •     софт      •     RSS-ленты     •     реклама      •     PDA-Версия      •    Контакты
Windows XP    •      Windows 7     •    Windows 8    •    Windows 9-10-11     •    Windows Server     •    Железо
Советы      •     Администрирование      •     Сеть      •     Безопасность      •     Статьи      •     Материалы
Реклама на сайте
Книга жалоб и предложений
Правила на сайте
О Winblog.ru и о копирайте
Написать в редакцию
Конфиденциальность
                       
  • Microsoft Edge - еще более безопасный!
  • ActiveCloud - надежный провайдер облачных услуг для вашей компании
  • ANYSERVER - ваш поставщик б/у серверов из Европы
  • Настройка контекстной рекламы в Yandex и Google: Эффективный путь к росту вашего бизнеса
  • Коммутаторы с функцией PoE: Обеспечение эффективной передачи данных и питания
  • Очередное обновление сломало выключатель компьютеров на Windows 11
  • Что может быть хуже, чем иметь конкретные системные требования и совершенно не представлять, применимы ли они ко всем компьютерам в сети? Можно привести массу примеров такой ситуации — например, когда для установки программного обеспечения требуется выяснить количество свободного места на локальных компьютерах или узнать, какие версии JAVA или .NET установлены. А порой возникает потребность в данных, которые получить еще труднее.

    Ниже приводятся три сценария, позволяющие получить некоторую информацию о клиентских и серверных машинах под управлением Windows. Сценарии созданы на базе PowerShell 2 и могут применяться к клиентским системам, начиная от Windows XP и выше, а также к серверам под управлением Windows Server 2003 и выше. Для использования PowerShell 2 рекомендуется установить Windows PowerShell PowerPack.

    1. Определение исходного разрешения экрана

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

    Три запроса PowerShell для получения важной системной информации
    Рисунок A


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

    $NetBIOSName = gc env:computername
    Get-DisplaySetting > C:\$NetBIOSName.txt


    2. Перечисление USB-устройств

    Выяснить, какие USB-устройства подключены к системе, порой бывает не так-то просто. Системные администраторы проклинают тот день, когда производители компьютеров решили использовать USB вместо PS/2 для клавиатур и мышей. Ведь гораздо проще было бы применять общую политику для всех USB-устройств, не затрагивая средства ввода, подключенные через PS/2. Получить список USB-устройств, подключенных к серверу или рабочей станции, можно с помощью модуля PowerShell Get-USB. Пример вывода команды показан на рис. B. В строке «Заголовок» (Caption) значится «Blue Snowball» — это подключенный к системе микрофон.

    Три запроса PowerShell для получения важной системной информации
    Рисунок B


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

    В отличие от команды, описанной в первом пункте, этот сценарий можно без дополнительной подготовки использовать для сбора данных на удаленных системах. При использовании переменной -computername команда подключается к удаленному компьютеру и выдает те же результаты, которые могли бы быть получены при локальном выполнении. При этом на удаленные системы не нужно устанавливать PowerShell PowerPack, что весьма удобно. Полная команда приводится ниже:

    Get-USB -Computername System.FullyQualified.Domain


    3. Получение подробных сведений о процессоре

    В наши дни инвентаризация процессоров на серверах, рабочих станциях и виртуальных машинах может стать довольно непростой задачей. Команда PowerShell Get-Processor позволяет централизованно получить информацию о количестве процессоров и процессорных ядер, доступных системе. Пример вывода команды показан на рис. C.

    Три запроса PowerShell для получения важной системной информации
    Рисунок C


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

    В аптечку администратора

    Описанные сценарии позволяют администратору получить необходимый минимум информации о компьютерной рабочей среде. А какими функциями PowerShell для инвентаризации пользуетесь вы? Поделитесь своим опытом в комментариях!

    Автор: Rick Vanover
    Перевод SVET


    Оцените статью: Голосов

    Материалы по теме:
  • Десять поводов научиться использовать PowerShell
  • Десять команд PowerShell, которые должен знать каждый администратор Windows
  • Использование PowerShell для выявления файлов, занимающих слишком много места
  • Настройка выполнения сценариев PowerShell с помощью групповой политики
  • Сценарии для управления членством в группах



  • Для отправки комментария, обязательно ответьте на вопрос

    Вопрос:
    Сколько будет двадцать минус три?
    Ответ:*




    ВЕРСИЯ ДЛЯ PDA      СДЕЛАТЬ СТАРТОВОЙ    НАПИШИТЕ НАМ    МАТЕРИАЛЫ    ОТ ПАРТНЁРОВ

    Copyright © 2006-2022 Winblog.ru All rights reserved.
    Права на статьи принадлежат их авторам. Копирование и использование материалов разрешается только в случае указания явной гиперссылки на веб-сайт winblog.ru, как на источник получения информации.
    Сайт для посетителей возрастом 18+