Примеры работы с группами ms active directory (ad ds) из командной строки powershell

Description

The Remove-ADComputer cmdlet removes an Active Directory computer.

The Identity parameter specifies the Active Directory computer to remove.
You can identify a computer by its distinguished name, GUID, security identifier (SID), or Security Accounts Manager (SAM) account name.
You can also set the Identity parameter to a computer object variable, such as , or you can pass a computer object through the pipeline to the Identity parameter.
For example, you can use the Get-ADComputer cmdlet to retrieve a computer object and then pass the object through the pipeline to the Remove-ADComputer cmdlet.

User

Перейдем теперь к объектам пользователей.

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

Get-ADPrincipalGroupMembership -Identity someuser

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

Get-ADAccountAuthorizationGroup -Identity someuser

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

По сути, командлет Get-ADAccountAuthorizationGroup выводит все группы, SID которых будет присутствовать в токене безопасности данного пользователя.

Если же нас интересуют только действительно существующие группы, то есть те, членством в которых мы можем управлять явным образом, мы можем отфильтровать результаты по существованию значения атрибута objectClass, поскольку у групп, не присутствующих в Active Directory в виде объектов, оно будет отсутствовать:

Get-ADAccountAuthorizationGroup -Identity someuser | Where-Object objectClass

Точно так же, как и в случае с группами, мы можем обратиться к атрибутам объекта пользователя, чтобы получить информацию о том, членом каких групп он является.

Для получения групп, в которые пользователь входит явным образом, мы можем запросить значение атрибута MemberOf.

Это backlink-атрибут, то есть он не присутствует в ActiveDirectory явно, а является отражением значений других атрибутов — в данном случае атрибута Member.

Get-ADUser -Identity someuser -Properties MemberOf | Select-Object -ExpandProperty MemberOf

На что тут стоит обратить внимание, так это на то, что среди вывода будет отсутствовать одна группа — та, что значится как Primary Group. Обычно это Domain Users для пользователей и Domain Computers для компьютеров

Текущая primary group объекта определяется значением атрибута primaryGroupID, но об этом отдельно.

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

или:

Как и в случае групп, для объектов пользователей и компьютеров, начиная с Windows Server 2012 R2, доступен атрибут типа constructed — msds-MemberOfTransitive.

Его значение содержит все группы, в которые явно или неявно входит объект — но опять же за исключением primary group.

Для получения значения атрибута msds-MemberOfTransitive нам снова понадобится командлет Get-ADObject:

Еще одним способом будет использование объекта DirectorySearcher:

: : https://fb.com/inpowershellVKontakte: https://vk.com/inpowershell

Типы групп и членства

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

Типы групп:

  • Безопасность. Используется для управления доступом участников и компьютеров к общим ресурсам группы пользователей. Например, можно создать группу безопасности для определенной политики безопасности. Поступив так, можно сразу предоставить набор разрешений всем участникам, а не добавлять эти разрешения каждому участнику по отдельности. Участниками группы безопасности могут быть пользователи, группы и субъекты-служб, а ее владельцами — пользователи и субъекты-служб. Дополнительные сведения об управлении доступом к ресурсам см. в разделе Управление доступом к ресурсам с помощью групп Azure Active Directory.
  • Microsoft 365. Обеспечивает возможности совместной работы, предоставляя участникам доступ к общему почтовому ящику, календарю, файлам, сайту SharePoint и многое другое. Этот параметр также позволяет предоставить доступ к группе пользователям за пределами вашей организации. Участниками группы Microsoft 365 могут быть только пользователи. Владельцами группы Microsoft 365 могут быть пользователи и субъекты-служб. Дополнительные сведения о Группах Microsoft 365 см. в разделе Сведения о Группах Microsoft 365.

Тип членства:

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

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

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

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

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

Правила членства для устройств могут ссылаться только на атрибуты этих устройств. Дополнительные сведения о создании динамической группы для пользователей и устройств см. в разделе Создание динамической группы и проверка состояния

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

Для поиска доменных пользователей используется командлет Get-ADUser. Данный командлет входит в модуль ActiveDirectory. Он доступен на серверах с установленной ролью AD DS или при установке оснастки RSAT для удаленного администрирования серверов. Модуль, также, может быть установлен и отдельно из репозитория Powershell.

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

PowerShell

Get-ADUser -Filter {Name -eq $Name} -Properties *

1 Get-ADUser-Filter{Name-eq$Name}-Properties*

 В данном примере производится поиск пользователя с именем, заданным в переменной $Name. Вы можете указать имя пользователя явно, только лучше использовать оператор -like

PowerShell

Get-ADUser  -Filter {Name -like «Семенов*»} -Properties *

1 Get-ADUser -Filter{Name-like»Семенов*»}-Properties*

Учтите, что под именем здесь имеется ввиду полное имя пользователя.

При поиске, также, можно указать сервер(контроллер домена) и учетные данные пользователя домена, которые будут использоваться для получения сведений о пользователе.

PowerShell

Get-ADUser -Server DC01 -Credential $domaincredential -Filter {Name -like «Семенов*»} -Properties *

1 Get-ADUser-ServerDC01-Credential$domaincredential-Filter{Name-like»Семенов*»}-Properties*

Давайте посмотрим вывод команды:

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

Для того, чтобы изменить атрибуты пользователя используется командлет Set-ADUser.  

Например, чтобы изменить название улицы, указанное в свойствах пользователя Семенов, можно сразу передать результат выполнения команды Get-ADUser командлету Set-ADUser:

PowerShell

Get-ADUser -Server DC01 -Credential $domaincredential -Filter {Name -like «Семенов*»} -Properties * | Set-ADUser -StreetAddress «ул.Мира»

1 Get-ADUser-ServerDC01-Credential$domaincredential-Filter{Name-like»Семенов*»}-Properties*|Set-ADUser-StreetAddress»ул.Мира»

В результате выполнения, получим желаемый результат в свойствах пользователя:

Подробнее о модуле Active Directory можно прочитать здесь: https://docs.microsoft.com/en-us/previous-versions/windows/it-pro/windows-server-2008-R2-and-2008/ee617195(v=technet.10)

Создание простой группы и добавление участников

Можно создать простую группу и сразу добавить в нее участников. Для создания базовой группы и добавления членов используйте следующую процедуру:

  1. Войдите на портал Azure с учетной записью глобального администратора каталога.

  2. Найдите и выберите Azure Active Directory.

  3. На странице Active Directory выберите Группы, а затем Создать группу.

  4. Откроется область Новая группа, где необходимо указать обязательные сведения.

  5. Выберите стандартный тип группы. Дополнительные сведения о типах групп см. в разделе .

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

  7. Добавьте адрес электронной почты группы или оставьте автоматически введенный адрес электронной почты.

  8. Описание группы. Добавьте дополнительное описание группы.

  9. Выберите стандартный Тип членства (обязательно) . Дополнительные сведения о типах членства см. в разделе .

  10. Нажмите кнопку создания. Ваша группа создана и готова для добавления участников.

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

  12. Добавив участников, щелкните Выбрать.

    Страница Общие сведения о группе обновится, чтобы отобразить количество участников, добавленных в группу.

Microsoft Account Lockout and Management Tools (Инструменты блокировки и управления учётной записью от Microsoft)

Запустите средство Lockoutstatus.exe, укажите имя заблокированной учётной записи (Target User Name) и имя домена (Target Domain Name).

Появившийся список будет содержать список контроллеров домена и статус учётной записи (Locked или Non Locked). Кроме того, отображается время блокировки и компьютер, на котором эта учётная запись заблокирована (Orig Lock), но в моём случае компьютер, который стал причиной блокировки, показан неверно.

Атрибуты badPwdCount и LastBadPasswordAttempt не реплицируются между контроллерами домена.

Вы можете разблокировать учётную запись пользователя или изменить пароль прямо из окна Lockoutstatus.

Основным недостатком инструмента LockoutStatus является то, что он опрашивает все контроллеры домена, некоторые из них могут быть недоступны, что вызывает задержку в выдачи результатов.

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

Если у вас нет списка компьютеров к которым вы планируете подключиться и узнать активного пользователя — это можно сделать через AD. На примере ниже будут возвращены все компьютеры:

Операция по получению списка компьютеров может быть очень долгой, если у вас большой парк ПК в AD. Вы можете вернуть только компьютеры, которые не отключены в AD (Disable) следующим способом:

Можно использовать и фильтрацию. Так я верну компьютеры имена которые начинаются на «CL»:

Получить список имен мы можем так:

Если у вас список компьютеров не относится к AD или имеет другой формат — то просто преобразуйте его в массив:

 

Powershell атрибуты пользователя. Поиск и изменение.

Одним из часто встречающихся действий, выполняемых системными администраторами, является работа с учетными записями пользователей. Давайте посмотрим, как можно быстро находить и изменять учетные записи пользователей(доменных и локальных) с помощью Powershell.

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

Для поиска доменных пользователей используется командлет Get-ADUser. Данный командлет входит в модуль ActiveDirectory. Он доступен на серверах с установленной ролью AD DS или при установке оснастки RSAT для удаленного администрирования серверов. Модуль, также, может быть установлен и отдельно из репозитория Powershell.

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

В данном примере производится поиск пользователя с именем, заданным в переменной $Name. Вы можете указать имя пользователя явно, только лучше использовать оператор -like

Учтите, что под именем здесь имеется ввиду полное имя пользователя.

При поиске, также, можно указать сервер(контроллер домена) и учетные данные пользователя домена, которые будут использоваться для получения сведений о пользователе.

Давайте посмотрим вывод команды:

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

Для того, чтобы изменить атрибуты пользователя используется командлет Set-ADUser.

Например, чтобы изменить название улицы, указанное в свойствах пользователя Семенов, можно сразу передать результат выполнения команды Get-ADUser командлету Set-ADUser:

В результате выполнения, получим желаемый результат в свойствах пользователя:

Powershell атрибуты пользователя. Локальные пользователи.

Для работы с учетными записями локальных пользователей используется модуль Local Accounts, доступный в репозитории Powershell Gallery(как установить модули описано здесь).

Найти пользователя можно с помощью командлета Get-LocalUser.

Синтаксис отличается от Get-ADUser. По умолчанию, без параметров Get-LocalUser выводит список всех локальных пользователей на компьютере:

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

Как можно видеть, параметров у пользователя намного меньше.

И еще, здесь есть отличие от Get-ADUser, параметр Name, который в Get-ADUser обозначал полное имя пользователя, в Get-LocalUser означает логин пользователя. Убедиться в этом можно на примере конкретного пользователя. Чтобы найти пользователя по атрибуту, отличному от его логина(Name) и SID, нужно задействовать командлет Where-Object:

Изменение атрибутов производится командлетом Set-LocalUser. Например, для изменения срока действия учетной записи с 31.08.2019 на 31.12.2020 команда выглядит так:

Аналогично меняются и другие атрибуты(Description, Fullname и т.д.)

И еще одно замечание. Если доменного пользователя заставить сменить пароль перед первым входом мы можем просто с помощью параметра -ChangePasswordAtLogon, то с локальными пользователями все не так. Вариант, все же есть, и он описан в этой статье.

Данные командлеты(особенно при использовании в скриптах) очень облегчат жизнь системному администратору, если приходится часто или в большом количестве менять атрибуты пользователей. Вы можете создать(получить) список пользователей и атрибуты, которые нужно изменить и «скормив» его скрипту, быстро получить требуемый результат.

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

Еще статьи по использованию Powershell в администрировании можно посмотреть по тегу Powershell.

Netstat – сведений о состоянии сетевых соединений

Ввод команды netstat -an предоставит список открытых портов в настоящее время и связанных с ними IP-адресов. Эта команда также скажет Вам в каком состоянии находится порт.

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

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

Возможные состояния:CLOSE_WAIT – ожидание закрытия соединения.CLOSED – соединение закрыто.ESTABLISHED – соединение установлено.LISTENING – ожидается соединение (слушается порт)TIME_WAIT – превышение времени ответа.

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

И так получить я хочу компьютеры у которых в качестве операционной системы выступает Windows Server 2008 R2. Для этого откройте оснастку «Active Directory Пользователи и компьютеры». В оснастке ADUC найдите раздел «Сохраненные запросы» и через правый клик по контейнеру, выберите пункт «Создать — Запрос».

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

Выбираете «Пользовательский поиск», в поле выбираете «Компьютер — Операционная система».

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

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

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

(&(objectCategory=computer)(objectClass=computer)(operatingSystem=Windows\20Server\202008\20R2*))

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

Создание политики во время входа в систему

Файл со скриптом у меня готов. Открываем оснастку «Управление групповой политикой». Выбираем нужное организационное подразделение к которому мы будем применять политику, в моем случае, это контейнер «Users», поэтому политику я буду применять на самый корень домена root.pyatilistnik.org. Кликаем по нему правым кликом и из контекстного меню выбираем пункт «Создать объект групповой политики в этом домене и связать его».

Задаем имя для нашей политики.

Далее нам необходимо изменить и настроить нашу политику. Для этого щелкаем по ней правым кликом и выбираем «Изменить».

Переходим по пути:

Конфигурация пользователя — Политики — Конфигурация Windows — Сценарии (вход/выход из системы) — Вход в систему

У вас откроется окно с вкладкой «Сценарии» и «Сценарии PowerShell». Нас будет интересовать первая вкладка, нажимаем кнопку «Добавить».

Через кнопку «Обзор» вам нужно будет выбрать ваш файл vbs. Я вам советую его скопировать в сетевую папку с политикой, либо в сетевую шару, где файл будет доступен для всех.

В итоге у вас должно появиться вот так, если скриптов более одного, то можно выставлять их позиции при применении. Начинаем тестирование. У меня есть тестовая учетная запись Барбоскина Геннадия, в оснастке ADUC она у меня лежит в контейнере «Users». Поле пейджер пустое.

Пробуем залогиниться Геннадием на рабочей станции с Windows 10 с именем W10-CL01. После входа на компьютер, проверяем свойство «Пейджер» у данного пользователя. Как видим, все прописалось.

Пробуем подключиться к еще одному компьютеру с Windows 10 под именем W10-CL02. Видим, что атрибут в AD изменил свое значение на имя второго компьютера.

Напоминаю, что записываться будут только локальные входы. Сама реализация до безобразия проста, но надежна. Надеюсь, что кому-то данная заметка оказалась полезной, а с вами был Иван Семин, автор и создатель IT блога Pyatilistnik.org.

Просмотр

Информация о пользователях

1. Список пользователей домена:

> Get-ADUser -filter *  | Select Name, SamAccountName

2. Простая информация о пользователе:

> Get-ADUser dmosk

* где dmosk — логин пользователя в AD DS, для которого смотрим атрибуты.

3. Как посмотреть все атрибуты пользователя:

> Get-ADUser dmosk -Properties *

4. Список пользователей в определенном организационном юните:

> Get-ADUser -filter * -SearchBase «OU=Пользователи,DC=dmosk,DC=local»

5. Поиск пользователей с определенным значением атрибута:

> Get-ADUser -filter * -Properties title | where { ($_.title -eq «Инженер») } | Select Name

* в данном примере мы выгружаем пользователей, должность которых «Инженер».

6. Исключить из поиска и показа определенных пользователей.

а) Способ 1. Использовать фильтр:

> Get-ADUser -filter { Name -notlike «Мартынов Мартын Мартынович» -and Name -notlike «Макаров Макар Макарович» }

б) Способ 2. С помощью Where и массива:

> $ExcludeUsers = @(«Мартынов Мартын Мартынович», «Макаров Макар Макарович»)

> Get-ADUser -filter * | Where { $ExcludeUsers -notcontains $_.Name }

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

Выгрузка пользователей в CSV (для просмотра в текстовом формате или Excel)

Выгрузку делаем при помощи командлета Export-csv.

1. Выгрузка всех данных о всех пользователях

Get-ADUser -filter * -Properties * | Export-csv -path C:\Temp\ADUsers.csv

* C:\Temp\ADUsers.csv — путь к выгружаемому файлу.

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

* обратите внимание, что мы в данной выгрузки используем кодировку UTF-8 и в качестве разделителя знак ;

Список групп пользователя

Get-AdUser dmosk -Properties memberof | Select memberof -expandproperty memberof

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

Powershell — Найти неактивные компьютеры в Active Directory

Хотите узнать, как найти неактивные компьютеры в Active Directory с помощью Powershell? В этом учебнике мы покажем вам, как использовать Powershell для найдите неактивные учетные записи компьютеров в Active Directory с помощью командной строки на компьютере под управлением Windows.

• Windows 2012 R2
• Windows 2016
• Windows 2019
• Windows 10

Список оборудования

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

Как Amazon Associate, я зарабатываю от квалификационных покупок.

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

Tutorial Powershell — Найти неактивные компьютеры в Active Directory

Как Администратор, запустите новый запрос командной строки POWERSHELL.

Найти неактивные компьютеры в Active Directory.

Copy to Clipboard
$Days = 10
$Time = (Get-Date).Adddays(-($Days))
Get-ADComputer -Filter {LastLogonTimeStamp -lt $Time} -Properties * | Select Name, LastLogonDate

Вот вывод команды.

Copy to Clipboard
Name LastLogonDate
—- ————-
TECH-SRV01 2/3/2021 12:15:23 AM
TECH-SRV02 12/15/2020 11:59:30 PM

В нашем примере мы обнаружили компьютеры, которые не входить в систему в течение 10 дней или более.

Дополнительно экспортировать результат в качестве файла CSV.

Copy to Clipboard
$Days = 10
$Time = (Get-Date).Adddays(-($Days))
Get-ADComputer -Filter {LastLogonTimeStamp -lt $Time} -Properties * | Select Name, LastLogonDate | export-csv inactivecomputers.csv

Вот содержимое файла CSV.

Copy to Clipboard
#TYPE Selected.Microsoft.ActiveDirectory.Management.ADComputer
«Name»,»LastLogonDate»
«TECH-SRV01″,»2/3/2021 12:15:23 AM»
«TECH-SRV02″,»12/15/2020 11:59:30 PM»

Найдите компьютеры, которые не вошли в Активный каталог за последние 30 дней.

Copy to Clipboard
$Days = 30
$Time = (Get-Date).Adddays(-($Days))
Get-ADComputer -Filter {LastLogonTimeStamp -lt $Time} -Properties * | Select Name, LastLogonDate

Найдите компьютеры, которые не вошли в Активный каталог за последние 60 дней.

Copy to Clipboard
$Days = 60
$Time = (Get-Date).Adddays(-($Days))
Get-ADComputer -Filter {LastLogonTimeStamp -lt $Time} -Properties * | Select Name, LastLogonDate

Найдите компьютеры, которые не вошли в Активный каталог за последние 90 дней.

Copy to Clipboard
$Days = 90
$Time = (Get-Date).Adddays(-($Days))
Get-ADComputer -Filter {LastLogonTimeStamp -lt $Time} -Properties * | Select Name, LastLogonDate

Поздравляю! Вы можете найти неактивные компьютеры в Active Directory с помощью Powershell.

2021-02-28T21:02:42-03:00

Get-ADUser: экспорт пользователей AD в CSV/TXT

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

Get-ADUser -Filter * -Properties PasswordExpired,PasswordLastSet,PasswordNeverExpires | Format-Table Name,PasswordExpired,PasswordLastSet,PasswordNeverExpires > C:\temp\users.txt

Или вы можете экспортировать список пользователей AD в файл CSV (который позже будет удобно импортирован в Excel):

Get-ADUser -filter * -Properties PasswordExpired,PasswordLastSet,PasswordNeverExpires | Where-Object {$_.name –like "*Dmitry*"} | Sort-Object PasswordLastSet | Select-Object Name,PasswordExpired,PasswordLastSet,PasswordNeverExpires | Export-csv -path c:\tmp\user-passwords-expires.csv -Append -Encoding UTF8

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

Давайте покажем ещё несколько полезных примеров команд для запросов пользователей Active Directory с помощью различных фильтров. Вы можете объединить их, чтобы получить необходимый список пользовательских объектов AD:

Отобразить пользователей AD, имя которых начинается с Joe:

Get-ADUser -Filter {name -like "Joe*"}

Вы можете использовать PowerShell для расчёта общего количества учётных записей пользователей в Active Directory:

Get-ADUser -Filter {SamAccountName -like "*"} | Measure-Object

Вывод списка пользователей и их свойств, размещённых в определённом организационном подразделении (контейнере) в данном случае это OU=Finance,OU=UserAccounts,DC=FABRIKAM,DC=COM:

Get-ADUser -Filter * -SearchBase "OU=Finance,OU=UserAccounts,DC=FABRIKAM,DC=COM"

Найти отключённые учётные записи пользователей Active Directory:

Get-ADUser -Filter {Enabled -eq "False"} | Select-Object SamAccountName,Name,Surname,GivenName | Format-Table

Вы можете проверить дату создания учётной записи пользователя Active Directory с помощью команды:

Get-ADUser -Filter * -Properties Name,WhenCreated | Select name,whenCreated

Вы можете получить список недавно добавленных пользователей Active Directory, созданных за последние 24 часа:

$lastday = ((Get-Date).AddDays(-1))
Get-ADUser -filter {(whencreated -ge $lastday)}

Вывести список учётных записей с просроченным паролем (вы можете настроить параметры истечения срока действия пароля в политике паролей домена):

Get-ADUser -Filter {Enabled -eq $True} -Properties name,passwordExpired | Where-Object {$_.PasswordExpired}| Select-Object name,passwordexpired

Командлеты Get-ADUser и Add-ADGroupMember можно использовать для создания динамических групп пользователей AD (в зависимости от города, должности, отдела и прочего).

Задача: для списка учётных записей, которые хранятся в текстовом файле (по одной учётной записи в строке), вам необходимо получить название компании пользователя из AD и сохранить его в файл CSV (вы можете легко импортировать этот файл в Excel).

Import-Csv c:\ps\users_list.csv | ForEach {
	Get-ADUser -Identity $_.user -Properties Name,Company |
	Select-Object Name,Company |
	Export-CSV c:\ps\users_ad_list.csv -Append -Encoding UTF8
}

Пользователи, которые не меняли свои пароли в течение последних 90 дней:

$90_Days = (Get-Date).adddays(-90)
Get-ADUser -Filter {(passwordlastset -le $90_days)}

Чтобы получить фотографию пользователя из Active Directory и сохранить её в файле jpg, выполните следующие команды:

$usr = Get-ADUser sjoe -Properties thumbnailPhoto
$usr.thumbnailPhoto | Set-Content sjoe.jpg -Encoding byte

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

Get-AdUser MiAl -Properties memberof | Select-Object memberof -ExpandProperty memberof

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

Get-ADUser -SearchBase 'OU=Rome,OU=Italy,DC=hackware,DC=ru' -Filter * -Properties memberof | Where-Object {($_.memberof -like "*CEO*")}

Перечислить компьютеры домена, на которых пользователю разрешён вход.

Get-ADUser MiAl -Properties LogonWorkstations | Format-List Name,LogonWorkstations

Чтобы искать компьютеры и фильтровать компьютеры по их свойствам в Active Directory, вы можете использовать другой командлет – Get-ADComputer.

Рейтинг
( Пока оценок нет )
Понравилась статья? Поделиться с друзьями:
Ваша ОС
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: