Команды гет для виндовс

Обновлено: 08.07.2024

В данной статье я хочу поговорить о установке и использовании консольной утилиты GNU Wget в операционной системе Windows.

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

Для того чтобы установить Wget, перейдите по ссылке и скачайте установочный exe-файл. Запустите exe-файл и установите Wget как обычную программу, по умолчанию утилита устанавливается C:\Program Files (x86)\GnuWin32.

Для запуска утилиты нужна командная строка Windows, запускаем ее через меню пуск или сочетанием клавиш Win+R, в открывшемся окне ввести "cmd" и нажать Enter. После запуска командной строки сразу пользоваться Wget, как это происходит в ОС Linux, не получится, сначала нужно указать местоположение файла wget.exe.

Файл wget.exe находится в каталоге bin, внутри установочной директории. Для указания файла используется команда path.

Теперь можно запустить Wget, для начала можно просмотреть вывод команды help со списком дополнительных опций.

Список дополнительных опций утилиты Wget под спойлером.

Обычные копирование и вставка (Ctrl+C, Ctrl+V) в командной строке Windows не работают. Чтобы скопировать текст из командной строки Windows, нужно просто выделить нужный фрагмент текста и нажать Enter.

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

Давайте рассмотрим несколько примеров использования утилиты Wget.

Допустим что нам нужно скачать какой нибудь файл, пусть это будет титульное изображение для этой статьи. Для этого нужно просто указать URL (ссылку) нужного файла, например так.

Иногда Wget может ругаться на "самоподписанные сертификаты" при использовании HTTPS-ссылок, хотя с самими сертификатами все в порядке, в таком случае нужно использовать дополнительную опцию "--no-check-certificate".

При обычном вызове командной строки Windows сохранение файла будет происходить в пользовательский каталог C:\Users\Username. Если файл требуется сохранить в какой-либо определенный каталог, то его необходимо указать при помощи дополнительного ключа "-P", пусть это будет каталог test на диске C (C:\test).

Если файл должен быть сохранен в определенном каталоге, то существует более простой способ сохранения файла, без указания дополнительных опций. Зайдите в нужный каталог через проводник Windows, зажмите клавишу Shift и кликните по области каталога правой кнопкой мыши, в открывшемся меню выберите "Открыть окно команд".

Открывшаяся командная строка станет выглядеть следующим образом.

windows wget

Выполните команду path, для указания местоположения wget.exe.

Теперь все будет сохраняться именно в эту папку.

Давайте представим что у нас есть некий файл со списком ссылок, которые необходимо скачать. Пусть это будет файл test.txt расположенный в пользовательском каталоге C:\Users\Username, со следующим содержанием.

Дополнительный ключ "-i" будет указывать на расположение файла - C:\Users\Username\test.txt и все файлы из списка будут сохранены.

Чтобы скачать сайт целиком достаточно просто указать его адрес c минимально необходимым набором опций, например.

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

Комбинируя набор доп. опций в командах Wget можно добиться разных результатов. Так что пробуйте все самостоятельно и изучайте возможности утилиты.

Всё о PowerShell в Windows и на Linux. Системное администрирование Windows

Командлет Get-ADComputer PowerShell можно использовать для получения различной информации об объектах учётных записей компьютеров (серверах и рабочих станциях) из домена Active Directory. Это один из самых полезных командлетов для поиска компьютеров AD по различным критериям (для получения информации об учётных записях пользователей AD используется другой командлет — Get-ADUser).

Чтобы использовать командлет Get-ADComputer необходимо установить Модуль Active Directory для Windows PowerShell, в каких системах он уже присутствует и как его установить если он ещё не установлен, смотрите в статье «Как установить и использовать модуль Active Directory PowerShell». На рабочих станциях данный модуль вы можете установить следующей командой:

Get-ADComputer — синтаксис использования командлета

Чтобы получать информацию из AD с помощью командлетов из модуля AD для PowerShell, вам не нужны права администратора домена. Достаточно, чтобы учётная запись, под которой запускается командлет, была членом группы «Domain Users / Authenticated Users».

Чтобы получить информацию о конкретной учётной записи компьютера в домене, укажите её имя в качестве аргумента параметра -Identity:


Командлет Get-ADComputer вернул из AD только основные свойства объекта ADComputer. Нас интересует время последней регистрации компьютера в домене AD, но эта информация не отображается в выводе команды выше. Вы можете перечислить все доступные свойства этого компьютерного объекта из Active Directory:



Используя Get-Member, вы можете получить список всех свойств объекта ADComputer:



Дата последнего входа компьютеров в сеть указана в атрибуте LastLogonDate.

Командлет Get-ADComputer позволяет отображать любые свойства компьютера в результатах выполнения команды. Удалите всю ненужную информацию, оставив только значения атрибутов Name и LastLogonDate.

Итак, мы получили данные о последней регистрации в домене для отдельного компьютера. Затем вам нужно изменить команду, чтобы она отображала информацию о времени последней сетевой регистрации для всех компьютеров в домене. Для этого замените -Identity на -Filter *:

У нас получилась простая таблица, которая содержит всего 2 поля: имя компьютера и дата LastLogonData. Вы можете добавить в эту таблицу другие поля объекта ADComputer.

Чтобы отобразить информацию об объектах компьютеров в определённом OU (организационном подразделении), используйте параметр -SearchBase:

Отсортируйте результаты запроса по дате последнего входа в систему с помощью командлета Sort-Object:

Итак, у нас есть список компьютеров и дата их последнего входа в домен Active Directory. Теперь мы хотим отключить учётные записи компьютеров, которые не использовались в течение 120 или более дней.

Используя Get-Date, мы можем получить значение текущей даты в переменной и уменьшить его до 120 дней:

Полученную переменную даты можно использовать как фильтр запроса Get-ADComputer в поле LastLogonDate:

Итак, мы создали список неактивных учётных записей компьютеров, которые не регистрировались в сети более 120 дней. Используйте команду Disable-ADAccount или Set-ADComputer, чтобы отключить их.

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

Теперь вы можете отключить все неактивные учётные записи компьютеров:

Примечание. Также вы можете получить список заблокированных, отключённых и неактивных компьютеров и пользователей домена с помощью отдельного командлета Search-ADAccount.

Примеры использования Get-ADComputer

Ниже приведены ещё несколько полезных примеров использования командлета Get-ADComputer для запроса и поиска компьютерных объектов в домене по определенным критериям.

Чтобы получить общее количество всех активных (не заблокированных) компьютеров в Active Directory:

Подсчёт количества экземпляров Windows Server в домене AD:

Чтобы получить список компьютеров в определённом OU, имена которых начинаются с LonPC:

При поиске в OU можно использовать дополнительный параметр «-SearchScope 1», что означает, что вам нужно искать только в корне OU. Параметр «-SearchScope 2» указывает на рекурсивный поиск компьютеров во всех вложенных подразделениях.

Чтобы найти все рабочие станции под управлением Windows 10:

Чтобы получить список серверов в домене с версией ОС, установленным пакетом обновлений и IP-адресом:

На выходе получилась красивая таблица со списком Windows Server в AD.

Атрибут -LDAPFilter позволяет использовать различные запросы LDAP в качестве параметра командлета Get-ADComputer, например:

Чтобы найти все отключённые компьютеры в определённом подразделении Active Directory:

Чтобы удалить все учётные записи компьютеров, которые не входили в домен более 6 месяцев, вы можете использовать команду:

Результат команды Get-ADComputer можно экспортировать в текстовый файл:

Вы также можете получить список компьютеров и экспортировать его в файл CSV:

Или получите файл отчёта в формате HTML со списком компьютеров и необходимыми свойствами:

Чтобы выполнить определённое действие со всеми компьютерами в результирующем списке, необходимо использовать цикл ForEach-Object. В этом примере мы хотим создать список серверов в домене и запросить конкретную информацию с каждого сервера (файл результатов должен содержать имя сервера, производителя и модель сервера).

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

Используя Get-AdComputer в скриптах автозапуска PowerShell, вы можете управлять различными настройками компьютера. Например, я слежу за состоянием агента (службы) SCCM на компьютерах пользователей. Небольшой скрипт входа в систему выполняется на каждом компьютере во время запуска, он сохраняет статус службы ccmexec в неиспользуемый атрибут компьютера — extensionAttribute10.

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

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

Следующая команда выведет имя, DNS-имя хоста и IPv4-адрес для всех компьютеров, чьё имя начинается на User01:

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

Предположим, нужно вывести все компьютеры, которые изменили свой пароль за определённый период времени. Следующая команда получает все компьютеры, которые изменили свой пароль за последние 90 дней.

Предположим имеется задача составить список аккаунтов компьютеров в определённой локации используя LDAPFilter. Следующая команда получает учётные записи компьютеров в расположении CN=Computers,DC=User01,DC=com, при этом с помощью LDAPFilter выбираются только компьютеры, которые указаны как ноутбуки.

Если нужно просто вывести все аккаунты компьютеров, то выполните следующую команду:


Следующие команды покажут имя, имя хоста DNS и адрес IPv4 всех компьютеров, чьё имя начинается со строки «Computer01» И у которых пароль последний раз установлен в течение предшествующих 30 дней.

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

Еще один важный аспект - это возможность рекурсивной загрузки, с которой она копирует веб-сайты. Она передает части веб-сайта по ссылкам и структуре каталогов, создавая, таким образом, локальные версии веб-страниц.

Команда wget также очень гибкая и может использоваться в терминалах, скриптах и заданиях cron . Во время загрузки пользователю не нужно быть активным или авторизованным. Поскольку wget не интерактивен, он может работать независимо в фоновом режиме.

Прочтите эту статью, чтобы узнать, как использовать некоторые из наиболее распространенных команд wget.

Руководство по использованию команды wget с примерами Руководство по использованию команды wget с примерами

Как проверить, установлен ли wget?

Скорее всего, пакет wget уже есть в вашей системе, поскольку теперь он предустановлен в большинстве дистрибутивов Linux.

Чтобы проверить, откройте окно терминала и введите:

Если у вас есть программное обеспечение wget, в выходных данных будет указано, что для команды wget отсутствует URL-адрес, как показано ниже:

wget : missing URL
Usage : wget [ OPTION ]. [ URL ].

Try `wget --help` for more options .

Команда wget не найдена

Если в выводе отображается wget command not found вам необходимо загрузить и установить инструмент вручную. Ниже вы найдете инструкции по установке для Ubuntu/Debian, CentOS и Windows.

Как установить wget на Ubuntu/Debian?

Чтобы установить wget в выпусках Ubuntu или Debian, используйте команду:

sudo apt - get install wget

Как установить wget на CentOS/Fedora?

Чтобы установить wget на CentOS или Fedora, введите следующую команду:

sudo yum install wget

Как установить wget в Windows?

Чтобы установить и настроить wget для Windows:

  1. Загрузите wget для Windows и установите пакет.
  2. Добавьте путь корзины wget к переменным среды (необязательно). Настройка этого параметра устраняет необходимость в полных путях и значительно упрощает запуск wget из командной строки:Откройте меню «Пуск» и выполните поиск по запросу среды .
    Выберите «Изменение системных переменных среды».
    Выберите вкладку «Дополнительно» и нажмите кнопку «Переменные среды».
    Выберите переменную Path в разделе «Системные переменные».
    Щелкните «Изменить».
    Нажмите «Создать» и добавьте путь к каталогу bin wget . Если он установлен по пути по умолчанию, добавьте C:\Program Files(x86)\GnuWin32\bin .
  3. Откройте командную строку cmd.exe и запускайте команды wget .

Введение в синтаксис wget

Синтаксис wget имеет следующий шаблон:

wget [ option ][ URL ]

Каждый [option] имеет свою длинную и короткую форму, которые удобно взаимозаменяемы. Этот атрибут указывает, что делать с последующим URL-адресом. [URL] - это адрес файла или каталога, который вы хотите загрузить.

Примеры команд wget

Загрузить файл из Интернета

Чтобы загрузить файл из Интернета, используйте:

Например, чтобы установить Tomcat 9, сначала вам нужно загрузить пакет с wget с помощью команды:

Чтобы скачать файл и сохранить его под указанным именем, выполните:

wget – O [имя _ файла] [ URL ]

Команда wget позволяет вам переименовывать файлы перед их загрузкой на ваш компьютер.

Например, вы можете установить Terraform. Чтобы загрузить пакет и переименовать его в terraform.zip , используйте следующую команду:

Загрузить файл в конкретный каталог

По умолчанию wget загружает файл в каталог, в котором находится пользователь. Чтобы сохранить файл в другом месте, добавьте параметр –P :

wget – P [желаемый _ каталог] [ URL ]

Например, при установке Git в Ubuntu вы можете загрузить пакет в каталог /temp с помощью команды:

Установить скорость загрузки

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

wget -- limit - rate [желаемая _ скорость] [ URL ]

Например, если вы устанавливаете драйверы NVIDIA TESLA в Linux и хотите ограничить скорость загрузки до 1 мегабайта, используйте команду:

Продолжить загрузку после прерывания

Вместо того, чтобы начинать с нуля, wget может возобновить загрузку с того места, где она была остановлена ??до прерывания. Это полезная функция, если при загрузке файла происходит потеря соединения.

Например, вы можете установить Mumble Server в Linux и внезапно потерять подключение к Интернету при загрузке установочного файла. Чтобы продолжить загрузку, введите команду:

wget позволяет загружать несколько файлов одновременно с помощью команды:

wget – i [имя _ файла]

Для этого выполните действия, описанные ниже:

1. Сначала создайте и откройте файл с именем MultipleDownloads.txt (или другим именем по вашему выбору) с помощью текстового редактора. В данном случае мы использовали Nano :

nano MultipleDownloads . txt

2. В редакторе добавьте URL-адреса пакетов, которые вы хотите загрузить, по одному в каждой строке.

3. Сохраните и выйдите из файла.

4. Выполните следующую команду wget в окне терминала:

wget – i MultipleDownloads . txt

Это побуждает wget загружаться с каждого URL-адреса в текстовом файле.

Загрузить веб-страницу (зеркальная веб-страница)

С помощью wget вы можете загрузить весь веб-сайт из Интернета, используя параметр –m . Он предлагает wget создать зеркало указанной веб-страницы. Основная команда для этого:

Для загрузки через FTP введите имя пользователя и пароль FTP-сервера, а затем ftp-адрес:

wget -- ftp - user =[ ftp_username ] -- ftp - password =[ ftp_password ] ftp : //.

wget -- ftp - user = admin -- ftp - password = SecretPassword ftp : //123.456.7890

Вы можете загрузить в фоновом режиме практическую функцию при работе с большими файлами:

Проверить статус загрузки можно командой:

tail – f wget – log

Чтобы загрузить диспетчер пакетов RPM в фоновом режиме, введите:

Увеличение числа попыток повтора

Вы можете установить, сколько раз wget пытается загрузить файл после того, как его прерывает плохая сеть, с помощью:

wget -- tries = [количество _ попыток] [ URL ]

По умолчанию количество повторных попыток установлено на 20.

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

Пропустить проверку сертификата

По умолчанию wget проверяет, есть ли у сервера действительный сертификат SSL/TLS . Если он не идентифицирует подлинный сертификат, он отказывается от загрузки.

Параметр --no-check-certificate используется, чтобы центры сертификации не проверяли сертификат сервера. Однако используйте его только в том случае, если вы уверены в надежности веб-сайта или не беспокоитесь о проблемах безопасности, которые он может вызвать.

wget -- no - check - certificate [ URL ]

Изменить агент пользователя User-Agent

При загрузке веб-страницы wget по сути эмулирует браузер. В некоторых случаях в выводе может быть указано, что у вас нет разрешения на доступ к серверу или что соединение запрещено. Это может быть связано с тем, что веб-сайт блокирует клиентские браузеры, у которых есть определенный «User-Agent».

« User-Agent » - это поле заголовка, которое браузер отправляет на сервер, к которому он хочет получить доступ. Поэтому для загрузки с сервера, который отказывается подключаться, попробуйте изменить пользовательский агент.

Найдите базу данных всех пользовательских агентов в сети, найдите тот, который вам нужен, и выполните команду:

wget -- user - agent =” User Agent Here ” “[ URL ]”

wget – U ” User Agent Here ” “[ URL ]”

Например, чтобы эмулировать Chrome (версия 74), вы должны изменить пользовательский агент с помощью команды:

Итоги

В этой статье рассказывается, почему wget является таким мощным инструментом для загрузки файлов через Интернет. Он также служит хорошим справочником для новичков со списком из основных команд и примеров wget.

date

22.09.2021

directory

PowerShell

comments

комментария 42

Допустим, ваша задача – найти в Active Directory все неактивные компьютеры, которые не регистрировались в домене более 120 дней и заблокировать учетные записи этих компьютеров.

Прежде чем приступить к работе с командлетом Get-ADComputer, необходимо подключить модуль Active Directory Module for Windows PowerShell.

Совет. В PowerShell 3.0 (представлен в Windows Server 2012) и выше этот модуль подключается по умолчанию при установке компонента Remote Server Administration Tools -> Role Administration Tools -> AD DS and AD LDS Tools -> Active Directory модуль для Windows PowerShell. Чтобы использовать командлет Get-ADComputer в клиентских Windows 10,8.1 и Windows 7 нужно скачать и установить RSAT для вашей версии ОС и включить модуль AD-PowerShell из панели управления или командой:
Enable-WindowsOptionalFeature -Online -FeatureName RSATClient-Roles-AD-Powershell

Модуль Active Directory для Windows PowerShell

Основы синтаксиса и использование командлета Get-ADComputer

Справка о параметрах командлета Get-ADComputer вызывается стандартно с помощью Get-Help:

синтаксис командлета Get-ADComputer

Для получения информации из AD с помощью командлетов модуля AD for Powershell не обязательно иметь права администратора домена, достаточно чтобы учетная запись под которой запускается командлет входила в группу пользователей домена (Authenticated Users / Domain Users).

Чтобы получить информацию о доменной учетной записи конкретного компьютера или сервера, укажите его имя в качестве аргумента параметра —Identity:

Get-ADComputer -Identity SRV-DB01

Get-ADComputer -Identity

Командлет вернул только базовые свойства объекта Computer из AD. Нас интересует время последней регистрации компьютера в домене AD, но этой информация в выводе команды нет. Выведем все доступные свойства данного компьютера из Active Directory:

Get-ADComputer все параметры компьютера в Active Directory

Get-ADComputer -Identity SRV-DB01 -Properties *

С помощью Get-Member можно получить список всех свойств класса Computer в AD:

Get-ADComputer -Filter * -Properties * | Get-Member

Как вы видите, время последнего входа данного компьютера в сеть указано в атрибуте компьютера LastLogonDate – 21.09.2015 0:20:17.

Командлет Get-ADComputer позволяет вывести в результатах команды любые из свойств компьютера. Уберем всю лишнюю информацию, оставив в выводе только значения полей Name и LastLogonDate.

Get-ADComputer -identity SRV-DB01 -Properties * | FT Name, LastLogonDate -Autosize

Табличное представление Get-ADComputer

Итак, мы получили данные о последнем времени регистрации в домене для одного компьютера. Теперь нам нужно изменить команду так, чтобы она возвращала информацию о времени последней регистрации в сети для всех компьютеров домена. Для этого заменим параметр –Identity на —Filter:

Получаем время входа для всех компьютеров домена

Get-ADComputer -Filter * -Properties * | FT Name, LastLogonDate -Autosize

Мы получили таблицу, которая содержит только 2 поля: имя компьютера и дата LastLogonData. Вы можете добавить в эту таблицу другие поля объекта Computer из AD. Чтобы вывести данные о компьютерах в определенном контейнере домена (OU), воспользуйтесь параметром SearchBase:
Get-ADComputer -SearchBase ‘OU=Moscow,DC=winitpro,DC=loc’ -Filter * -Properties * | FT Name, LastLogonDate -Autosize

Отсортируем результаты запроса по времени последнего логина в сеть (поле LastLogonDate) с помощью команды Sort:

Get-ADComputer -Filter * -Properties * | Sort LastLogonDate | FT Name, LastLogonDate -Autosize

Итак, мы получили список компьютеров домена и время их последнего входа в сеть Active Directory. Теперь мы хотим заблокировать учетные записи компьютеров, которые не использовались более 120 дней.

С помощью Get-Date получим в переменной значение текущей даты и вычтем из текущей даты 120 дней:

Get-Date adddays

Полученную переменную с датой можно использовать в качестве фильтра запроса Get-ADComputer по полю LastLogonDate

Get-ADComputer -Properties LastLogonDate -Filter | Sort LastLogonDate | FT Name, LastLogonDate -Autosize

Таким образом, мы получили список неактивных компьютеров, не регистрировавшихся в сети более 120 дней. С помощью командлета Set-ADComputer или Disable-ADAccount вы можете отключить эти учетные записи.

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

Get-ADComputer -Properties LastLogonDate -Filter | Set-ADComputer -Enabled $false -whatif

Теперь можно заблокировать все полученные учетные записи компьютеров:

Get-ADComputer -Properties LastLogonDate -Filter | Set-ADComputer -Enabled $false

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

Примеры использования командлета Get-ADComputer

Ниже представлены еще несколько полезных примеров команд с использованием командлета Get-ADComputer, которые можно использовать для выборки и поиска компьютеров домена по определенными критериям.

Получить общее количество активных (незаблокированных) компьютеров в Active Directory:

Посчитать количество серверов с Windows Server в домене:

посчитать количество компьютеров и серверов в AD

Получить список компьютеров в определенном OU, имена которых начинаются с BuhPC:

Get-ADComputer -Filter -SearchBase ‘OU=Moscow,DC=winitpro,DC=loc’ -Properties IPv4Address | Format-table Name,DNSHostName,IPv4Address | ft -Wrap –Auto

При поиске по OU вы можете использовать дополнительный параметр -SearchScope 1, который означает, что нужно искать только в корневом разделе. Параметр -SearchScope 2 означает рекурсивный поиск компьютеров во всех вложенных OU.

Выбрать все рабочие станции с ОС Windows 10:

Получить список серверов в домене с версией ОС, IP адресом и установленным Service Pack:
Get-ADComputer -Filter 'operatingsystem -like "*Windows server*" -and enabled -eq "true"' -Properties Name,Operatingsystem, OperatingSystemVersion, OperatingSystemServicePack,IPv4Address | Sort-Object -Property Operatingsystem | Select-Object -Property Name,Operatingsystem, OperatingSystemVersion, OperatingSystemServicePack, IPv4Address| ft -Wrap –Auto

На выходе получили такую красивую таблицу со списком Windows Server в AD.

get-adcomputer информации о версии windows на компьютерах домена

Атрибут -LDAPFilter позволяет использовать в качестве параметра командлета Get-ADComputer различные LDAP запросы, например:

Get-ADComputer -LDAPFilter "(name=*db*)"|ft

Выбрать заблокированные компьютеры в определенном OU:

Get-ADComputer -filter * -SearchBase ‘OU=Computers, dc=winitpro,dc=loc’ | Where-Object

Чтобы удалить все аккаунты компьютеров в домене, не авторизовавшиеся в домене более 6 месяцев, можете воспользоваться командой:

get-adcomputer -properties lastLogonDate -filter * | where < $_.lastLogonDate -lt (get-date).addmonths(-6) >| Remove-ADComputer

Результат выполнения команды Get-ADComputer можно выгрузить в текстовый файл:

Get-ADComputer -Filter < OperatingSystem -Like '*Windows Server 2008*' >-Properties OperatingSystem | Select DNSHostName, OperatingSystem | Format-Table -AutoSize C:\Script\server_system.txt

Также вы можете получить выборку компьютеров и экспортировать его в CSV файл:

Get-ADComputer -Filter * -Property * | Select-Object Name,OperatingSystem,OperatingSystemServicePack | Export-CSV All-Windows.csv -NoTypeInformation -Encoding UTF8

Или получить HTML файл отчета со списком компьютеров и нужных атрибутов компьютера:

Get-ADComputer -Filter -Properties * | Select-Object Name,OperatingSystem | ConvertTo-Html | Out-File C:\ps\ad_computer.html

html отчеи по компьютерам в домене active directory

Чтобы выполнить определенной действие со всеми компьютерами из полученного списка нужно использовать цикл Foreach. В этом примере мы хотим получить список серверов в домене с моделью и производителем:

$Computers = Get-ADComputer -Filter
Foreach ($Computer in $Computers)
$Hostname = $Computer.Name
$ComputerInfo = (Get-WmiObject -Computername $Hostname Win32_ComputerSystem)
$Manufacturer = $Computer.Manufacturer
$Model = $Computer.Model
Write-Host "Name: $Hostname"
Write-Host "Manufacturer: $Manufacturer"
Write-Host "Model: $Model"
Write-Host " "
$Content = "$Hostname;$Manufacturer;$Model"
Add-Content -Value $Content -Path "C:\PS\ServersInfo.txt"
>

Либо можно использовать более короткий синтаксис цикла. Допустим нам нужно выполнить определенную команду на всех компьютерах в определенном OU (в этом примере мы хотим запустить на всех серверах команду обновления настроек групповых политик):

Затем с помощью следующей команды я могу найти компьютеры, на которых отсутствует или не запушена служба CCMExec:

get-adcomputer -filter -SearchBase “OU=Computers,OU=MSK,DC=winitpro,DC=ru” -properties dNSHostName,extensionAttribute10,LastLogonDate |select-object dNSHostName,extensionAttribute10,LastLogonDate

Читайте также: