как узнать в каком контейнере ad находится компьютер

Как найти включенные компьютеры в сети с AD средствами PowerShell v2

Всем привет

Недавно передо мной стал вопрос, о поиске в сети офиса, компьютеров работающих после окончания рабочего дня(что крайне не приветствуется руководством). Решать этот вопрос я решил средствами powershell(так как давно хотел разобраться с этим инструментом), как оказалось в этом нет ничего трудного, достаточно провести немного времени за изучением статей и форумов. В итоге у меня получился вот такой скрипт:

Данный скриптик достает из AD, из нужной нам OU список компов, записывает их в файл, затем берет из этого файла и проверяет доступность поочередно, и если комп в сети то записывает в другой файлик.(вместо файла ля хранения списка компов можно использовать переменную но мне было проще сделать так(иногда бывает нужен список компов)). А дальше достаточно поотправлять всем включенным компьютерам сигнал выключения, позже добавлю как это сделать. Надеюсь моя небольшая заметка кому нибудь пригодиться.

О песочнице

Это «Песочница» — раздел, в который попадают дебютные посты пользователей, желающих стать полноправными участниками сообщества.

Если у вас есть приглашение, отправьте его автору понравившейся публикации — тогда её смогут прочитать и обсудить все остальные пользователи Хабра.

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

О модерации

Не надо пропускать:

Источник

Как узнать в каком контейнере ad находится компьютер

Добрый день! Уважаемые читатели и гости одного из крупнейших IT блогов по системному администрированию Pyatilistnik.org. В прошлый раз мы с вами разобрали вопрос, почему у вас отсутствует в системе библиотека vcruntime140.dll и научились ее успешно устанавливать. В сегодняшней публикации я бы вас хотел научить производить поиск в Active Directory по компьютерам с определенной операционной системой. Я расскажу в каких ситуациях вам, это будет полезно.

Постановка задачи

Вы наверняка знаете, что с конца 2019 года компания Microsoft перестает в базовом варианте поддерживать операционные системы Windows Server 2008 R2 и Windows 7, останется только расширенная поддержка для корпоративных пользователей. Вам как системному администратору можете поступить задача, определить сколько у вас таких рабочих станций или серверов, доступны ли они по сети, когда последний раз обращались к контроллеру домена и были изменены их данные.

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

Решение задачи

Так как у меня доменная инфраструктура и единой точкой получения информации является база Active Directory и это удобно. Получить данные мы можем тремя методами:

Получение компьютеров через LDAP запрос

как узнать в каком контейнере ad находится компьютер. poisk kompyuterov v ad 01. как узнать в каком контейнере ad находится компьютер фото. как узнать в каком контейнере ad находится компьютер-poisk kompyuterov v ad 01. картинка как узнать в каком контейнере ad находится компьютер. картинка poisk kompyuterov v ad 01.

Задаете понятное имя LDAP запроса и нажимаем кнопку «Запрос«.

как узнать в каком контейнере ad находится компьютер. poisk kompyuterov v ad 02. как узнать в каком контейнере ad находится компьютер фото. как узнать в каком контейнере ad находится компьютер-poisk kompyuterov v ad 02. картинка как узнать в каком контейнере ad находится компьютер. картинка poisk kompyuterov v ad 02.

как узнать в каком контейнере ad находится компьютер. poisk kompyuterov v ad 03. как узнать в каком контейнере ad находится компьютер фото. как узнать в каком контейнере ad находится компьютер-poisk kompyuterov v ad 03. картинка как узнать в каком контейнере ad находится компьютер. картинка poisk kompyuterov v ad 03.

В значении пишите Windows Server 2008 и нажимаете кнопку добавить.

как узнать в каком контейнере ad находится компьютер. poisk kompyuterov v ad 04. как узнать в каком контейнере ad находится компьютер фото. как узнать в каком контейнере ad находится компьютер-poisk kompyuterov v ad 04. картинка как узнать в каком контейнере ad находится компьютер. картинка poisk kompyuterov v ad 04.

Сохраняем настройки, нажимая кнопку «Ок».

как узнать в каком контейнере ad находится компьютер. poisk kompyuterov v ad 05. как узнать в каком контейнере ad находится компьютер фото. как узнать в каком контейнере ad находится компьютер-poisk kompyuterov v ad 05. картинка как узнать в каком контейнере ad находится компьютер. картинка poisk kompyuterov v ad 05.

В результате мы получили вот такой LDAP зарос:

как узнать в каком контейнере ad находится компьютер. poisk kompyuterov v ad 06. как узнать в каком контейнере ad находится компьютер фото. как узнать в каком контейнере ad находится компьютер-poisk kompyuterov v ad 06. картинка как узнать в каком контейнере ad находится компьютер. картинка poisk kompyuterov v ad 06.

На выходе вы получите список компьютеров с нужной вам операционной системой, у меня получилось 86 серверов, большая часть из них имеет статус отключен, об этом говорит стрелка вниз на значке. Так же удобно будет добавить столбец последнего изменения.

как узнать в каком контейнере ad находится компьютер. poisk kompyuterov v ad 07. как узнать в каком контейнере ad находится компьютер фото. как узнать в каком контейнере ad находится компьютер-poisk kompyuterov v ad 07. картинка как узнать в каком контейнере ad находится компьютер. картинка poisk kompyuterov v ad 07.

Получить список компьютеров по ОС из PowerShell

Запускаем оболочку PowerShell, для того чтобы получить список всех компьютеров с нужной операционной системой введите вот такую команду:

На выходе получите список из имени и версии ОС

как узнать в каком контейнере ad находится компьютер. poisk kompyuterov v ad 08. как узнать в каком контейнере ad находится компьютер фото. как узнать в каком контейнере ad находится компьютер-poisk kompyuterov v ad 08. картинка как узнать в каком контейнере ad находится компьютер. картинка poisk kompyuterov v ad 08.

Согласитесь, что это не информативно. Хочется, чтобы были данные:

Эту задачу я выполню с помощью вот такого кода, который я писал еще пару лет назад:

# Скрипт с сайта Pyatilistnik.org

как узнать в каком контейнере ad находится компьютер. poisk kompyuterov v ad. как узнать в каком контейнере ad находится компьютер фото. как узнать в каком контейнере ad находится компьютер-poisk kompyuterov v ad. картинка как узнать в каком контейнере ad находится компьютер. картинка poisk kompyuterov v ad.

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

Поиск компьютеров в SCCM

как узнать в каком контейнере ad находится компьютер. poisk kompyuterov v ad 10. как узнать в каком контейнере ad находится компьютер фото. как узнать в каком контейнере ad находится компьютер-poisk kompyuterov v ad 10. картинка как узнать в каком контейнере ad находится компьютер. картинка poisk kompyuterov v ad 10.

Выбираем коллекцию и нажимаем построить отчет.

как узнать в каком контейнере ad находится компьютер. poisk kompyuterov v ad 11. как узнать в каком контейнере ad находится компьютер фото. как узнать в каком контейнере ad находится компьютер-poisk kompyuterov v ad 11. картинка как узнать в каком контейнере ad находится компьютер. картинка poisk kompyuterov v ad 11.

На выходе вы получите отчет по вашим хостам. В принципе данную информацию можно получить и через запрос в SCCM, как это делать смотрите по ссылке.

Источник

Get-ADComputer: вывод информации о компьютерах в Active Directory через PowerShell

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

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

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

как узнать в каком контейнере ad находится компьютер. modul ad dlya powershell. как узнать в каком контейнере ad находится компьютер фото. как узнать в каком контейнере ad находится компьютер-modul ad dlya powershell. картинка как узнать в каком контейнере ad находится компьютер. картинка modul ad dlya powershell.

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

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

как узнать в каком контейнере ad находится компьютер. sintaksis komandleta Get ADComputer. как узнать в каком контейнере ad находится компьютер фото. как узнать в каком контейнере ad находится компьютер-sintaksis komandleta Get ADComputer. картинка как узнать в каком контейнере ad находится компьютер. картинка sintaksis komandleta Get ADComputer.

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

как узнать в каком контейнере ad находится компьютер. Get ADComputer Identity. как узнать в каком контейнере ad находится компьютер фото. как узнать в каком контейнере ad находится компьютер-Get ADComputer Identity. картинка как узнать в каком контейнере ad находится компьютер. картинка Get ADComputer Identity.

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

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

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

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

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

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

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

как узнать в каком контейнере ad находится компьютер. Get Date adddays. как узнать в каком контейнере ad находится компьютер фото. как узнать в каком контейнере ad находится компьютер-Get Date adddays. картинка как узнать в каком контейнере ad находится компьютер. картинка Get Date adddays.

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

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

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

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

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

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

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

как узнать в каком контейнере ad находится компьютер. poshitat kolvo komputerov i serverov v domene. как узнать в каком контейнере ad находится компьютер фото. как узнать в каком контейнере ad находится компьютер-poshitat kolvo komputerov i serverov v domene. картинка как узнать в каком контейнере ad находится компьютер. картинка poshitat kolvo komputerov i serverov v domene.

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

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

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

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

как узнать в каком контейнере ad находится компьютер. get adcomputer informaciya o versii windows. как узнать в каком контейнере ad находится компьютер фото. как узнать в каком контейнере ad находится компьютер-get adcomputer informaciya o versii windows. картинка как узнать в каком контейнере ad находится компьютер. картинка get adcomputer informaciya o versii windows.

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

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

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

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

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

как узнать в каком контейнере ad находится компьютер. html otchet po komputerav v ad. как узнать в каком контейнере ad находится компьютер фото. как узнать в каком контейнере ad находится компьютер-html otchet po komputerav v ad. картинка как узнать в каком контейнере ad находится компьютер. картинка html otchet po komputerav v ad.

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

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

С помощью Get-AdComputer и логон скрипта PowerShell вы можете контролировать различные параметры компьютера. Я, например, контролирую состояние агента SCCM на компьютерах пользователей. При загрузке каждого компьютера на нем отрабатывает логон скрипт, который с помощью Set-ADComputer сохраняет состояние службы ccmexec в свободный атрибут компьютера — extensionAttribute10.

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

Источник

Как узнать в каком контейнере ad находится компьютер

Для генерации лицензии нам необходим путь до контейнера с экземпляром системы Indeed-ID в формате distinguishedName.

Если вы создавали хранилище данных при помощи утилиты IndeedID.instance.exe и не указывали параметры /company и /product то автоматически были созданы контейнер Indeed Identity и подконтейнер Indeed AM.

Пример:

IndeedID.instance.exe i:/DC=domain,DC=demo

Где DC=domain,DC=demo это distinguishedName корня вашего домена. В этом случае в корне домена были созданы контейнер Indeed Identity и подконтейнер Indeed AM. Путь для получения лицензий будет: DC=domain,DC=demo.

Если при создании хранилища данных вы использовали параметры /company и /product.

Пример:

IndeedID.instance.exe i:/DC=domain,DC=demo /company:Company /product:Indeed

В этом случае в корне домена были созданы контейнер Company и подконтейнер Indeed, путь до экземпляра системы останется прежним: DC=domain,DC=demo.

Если экземпляр системы расположен не в корне домена.

Пример:

IndeedID.instance.exe i:/OU=MSK-Office,DC=domain,DC=demo

В этом случае нам необходим distinguishedName подразделения MSK-Office так как контейнер Indeed Identity находится внутри. Путь для получения лицензий будет следующим: OU=MSK-Office,DC=domain,DC=demo.

Active Directory: пользователи и компьютеры

Для того чтобы узнать distinguishedName контейнера с экземпляром системы вы можете воспользоваться оснасткой Active Directory: пользователи и компьютеры (Active Directory: Users and Computers):

Веб-приложение Indeed EMC

Вы можете узнать distinguishedName контейнера с экземпляром системы через веб-приложение Indeed EMC. Для этого вам необходимо в браузере Internet Explorer перейти по адресу по которому расположено приложение.

Источник

Получение списка компьютеров с Get-ADComputer в Powershell

как узнать в каком контейнере ad находится компьютер. PowerShell2 P07dlG8. как узнать в каком контейнере ad находится компьютер фото. как узнать в каком контейнере ad находится компьютер-PowerShell2 P07dlG8. картинка как узнать в каком контейнере ad находится компьютер. картинка PowerShell2 P07dlG8.

Так же как и с получением списка пользователей AD с Get-ADUser с помощью Powershell мы можем вернуть список компьютеров. Этот список может быть отфильтрован исключая или включая отключенные учетные записи, по-определенному OU, экспортированы в CSV и многое другое. Эти примеры, а так же множество других, вы можете увидеть в статье ниже.

Навигация по посту

Получение компьютеров

Команда, которая вернет список всех компьютеров в домене следующая:

как узнать в каком контейнере ad находится компьютер. 1. как узнать в каком контейнере ad находится компьютер фото. как узнать в каком контейнере ad находится компьютер-1. картинка как узнать в каком контейнере ad находится компьютер. картинка 1.

Команда точно выполнится на домен контроллере, так как все поддерживаемые серверные версии ОС устанавливают нужный модуль Powershell вместе с Active Directory (если вы только специально не отключали эту возможность). Если вы планируете выполнять команду с клиента на Windows 7 и выше, то такой модуль устанавливается вместе с RSAT (Remote Server Administration Tools). В отдельном случае может понадобится импортировать этот модуль следующей командой:

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

как узнать в каком контейнере ad находится компьютер. 2. как узнать в каком контейнере ad находится компьютер фото. как узнать в каком контейнере ad находится компьютер-2. картинка как узнать в каком контейнере ad находится компьютер. картинка 2.

В остальных случаях стоит смотреть на явные запреты на выполнение скриптов Powershell и чтения Active Directory.

Что бы вернуть данные по одному пользователю используется ключ Identity:

как узнать в каком контейнере ad находится компьютер. 12. как узнать в каком контейнере ad находится компьютер фото. как узнать в каком контейнере ad находится компьютер-12. картинка как узнать в каком контейнере ad находится компьютер. картинка 12.

Параметр Filter является обязательным. Вы можете вернуть дополнительные данные используя Properties:

как узнать в каком контейнере ad находится компьютер. 3. как узнать в каком контейнере ad находится компьютер фото. как узнать в каком контейнере ad находится компьютер-3. картинка как узнать в каком контейнере ad находится компьютер. картинка 3.

Как установить Powershell AD модуль

Фильтрация вывода

У нас есть базовые свойства, которые фильтруются с помощью Filter. Это:

И ряд свойств, которые возвращаются с параметром Properties. Их можно фильтровать через дополнительные условия (конвейер, where-object, циклы). Имена этих свойств можно вернуть так:

как узнать в каком контейнере ad находится компьютер. 6. как узнать в каком контейнере ad находится компьютер фото. как узнать в каком контейнере ad находится компьютер-6. картинка как узнать в каком контейнере ad находится компьютер. картинка 6.

Использование Filter

Если вы планируете получить информацию по определенному доменному компьютеру, то вам нужно добавить условие. В примере ниже я возвращаю информацию только по компьютеру у которого имя равно «AD1»:

как узнать в каком контейнере ad находится компьютер. 4. как узнать в каком контейнере ad находится компьютер фото. как узнать в каком контейнере ad находится компьютер-4. картинка как узнать в каком контейнере ad находится компьютер. картинка 4.

как узнать в каком контейнере ad находится компьютер. 5. как узнать в каком контейнере ad находится компьютер фото. как узнать в каком контейнере ad находится компьютер-5. картинка как узнать в каком контейнере ad находится компьютер. картинка 5.

Знаки * говорят, что в этих местах может быть еще текст. Такое написание «C*L» соответствовало бы логике: строка начинается с буквы «C», затем может быть еще текст завершающийся на «L».

Использование Properties

Свойства возвращаемые через ключ Properties можно фильтровать двумя способами.

как узнать в каком контейнере ad находится компьютер. 7. как узнать в каком контейнере ad находится компьютер фото. как узнать в каком контейнере ad находится компьютер-7. картинка как узнать в каком контейнере ad находится компьютер. картинка 7.
Указать больше свойств можно через запятую. Например:

Так же можно фильтровать через команду where-object. На примере ниже я получаю компьютеры со всеми свойствами, но созданные до 31 декабря 2019 года:

как узнать в каком контейнере ad находится компьютер. 8. как узнать в каком контейнере ad находится компьютер фото. как узнать в каком контейнере ad находится компьютер-8. картинка как узнать в каком контейнере ad находится компьютер. картинка 8.

Ограничить вывод определенными свойствами можно через Select:

как узнать в каком контейнере ad находится компьютер. 14. как узнать в каком контейнере ad находится компьютер фото. как узнать в каком контейнере ad находится компьютер-14. картинка как узнать в каком контейнере ad находится компьютер. картинка 14.

Получение включенных и отключенных учетных записей

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

как узнать в каком контейнере ad находится компьютер. 9. как узнать в каком контейнере ad находится компьютер фото. как узнать в каком контейнере ad находится компьютер-9. картинка как узнать в каком контейнере ad находится компьютер. картинка 9.

Получение компьютеров из определенных OU

Вместе с командой это получится так:

как узнать в каком контейнере ad находится компьютер. 10. как узнать в каком контейнере ad находится компьютер фото. как узнать в каком контейнере ad находится компьютер-10. картинка как узнать в каком контейнере ad находится компьютер. картинка 10.

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

как узнать в каком контейнере ad находится компьютер. 11. как узнать в каком контейнере ad находится компьютер фото. как узнать в каком контейнере ad находится компьютер-11. картинка как узнать в каком контейнере ad находится компьютер. картинка 11.

Как создавать команды и функции в Powershell вызывать их и передавать параметры

Ограничение вывода

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

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *