Работа с пользователями active directory в powershell

Командлеты модуля AD для PowerShell

В модуле Active Directory для Windows PowerShell имеется большое командлетов для взаимодействия с AD. В каждой новой версии RSAT их количество увеличивается (в Windows Server 2016 доступно 147 командлетов для AD).

Перед использованием командлетов модуля, его нужно импортировать в сессию PowerShell (в Windows Server 2012 R2/ Windows 8.1 модуль импортируется автоматически):

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

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

Общее количество команд в модуле:

Большинство командлетов модуля RSAT-AD-PowerShell начинаются с префикса Get-, Set-или New-.

  • Командлеты класса Get- используются для получения различной информации из AD (Get-ADUser — свойства пользователей, Get-ADComputer – параметры компьютеров, Get-ADGroupMember — состав групп и т.д.). Для их выполнения не нужно быть администратором домена, любой пользователь домена может выполнять скрипты PowerShell для получения значений большинства атрибутов объектов AD (кроме защищенных, как в примере с LAPS).
  • Командлеты класса Set- служат для изменения параметров объектов в AD, например, вы можете изменить свойства пользователя (Set-ADUser), компьютера (Set-ADComputer), добавить пользователя в группу и т.д. Для выполнения этих операций у вашей учетной записи должны быть права на объекты, которые вы хотите изменить (см. статью Делегирование прав администратора в AD).
  • Команды, начинающиеся с New- позволяют создать объекты AD (создать пользователя — New-ADUser, группу — New-ADGroup).
  • Командлеты Remove- служат для удаления объектов AD.

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

Примеры использования командлетов Active Directory можно вывести так:

В PowerShell ISE при наборе параметров командлетов модуля удобно использовать всплывающие подсказки.

Просмотр

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

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 позволяет просмотреть значение коллекций в удобочитаемом виде.

Командлеты Active Directory PowerShell

В модуле Active Directory для Windows PowerShell есть множество командлетов для взаимодействия с AD. Каждая новая версия RSAT содержит больше командлетов, чем предыдущая. В Windows Server 2022 доступно 147 командлетов PowerShell для Active Directory.

Перед использованием командлетов модуля Active Directory вам необходимо импортировать его в сеанс PowerShell:

Import-Module ActiveDirectory

Начиная с Windows Server 2012 R2, Windows 8.1 и в последующих версиях модуль импортируется автоматически.

Если модуль Active Directory не установлен на вашем компьютере, вы можете импортировать его со своего контроллера домена (для этого вам нужны права администратора домена) или с другого настольного компьютера:

$psSess = New-PSSession -ComputerName ИМЯ_КОМПЬЮТЕРА
Import-Module -PSsession $psSess -Name ActiveDirectory

В этих командах ИМЯ_КОМПЬЮТЕРА — это компьютер, который является Контроллером Домена, либо компьютером, на котором установлен модуль Powershell Active Directory.

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

Get-Command -module ActiveDirectory

Чтобы посчитать общее количество командлетов в модуле AD выполните команду:

Get-Command -module ActiveDirectory | measure-object | select count

Большинство командлетов RSAT-AD-PowerShell начинаются с префиксов Get-, Set- или New-.

  • Командлеты Get- класса используются для получения различной информации из Active Directory (Get-ADUser — свойства пользователя, Get-ADComputer — настройки компьютера, Get-ADGroupMember — членство в группе и так далее). Чтобы запустить их, вам не нужно быть администратором домена. Любой пользователь домена может запускать команды PowerShell для получения значений атрибутов объекта AD (кроме конфиденциальных, как в примере с LAPS);
  • Командлеты класса Set- используются для установки (изменения) параметров объекта в Active Directory. Например, вы можете изменить свойства пользователя (Set-ADUser), настройки компьютера (Set-ADComputer), добавить пользователя в группу и так далее. Для этого у вашей учётной записи должны быть разрешения на изменение свойств объекта;
  • Команды, начинающиеся с New- позволяют создавать объекты AD (создать пользователя – New-ADUser, создать группу – New-ADGroup);
  • Командлеты Remove- используются для удаления объектов AD.

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

Get-Help КОМАНДЛЕТ
Get-Help КОМАНДЛЕТ -Full

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

(Get-Help КОМАНДЛЕТ).examples

Или:

Get-Help КОМАНДЛЕТ -Examples

Всплывающие подсказки удобно использовать при вводе параметров командлета в PowerShell ISE.

Примеры использования 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.

Установка Active Directory Domain Services в Windows Admin Center

В Windows Admin Center очень удобно установить роли Active Directory Domain Services и DNS сервер, для этого нужно сделать буквально несколько кликов. Но, как уже было сказано, Windows Admin Center ещё не является полноценной заменой для других инструментов, поэтому когда придёт время Promote this server to a domain controller («Сделать этот сервер контроллером домена»), то это нужно будет сделать средствами Менеджера серверов, либо в PowerShell.

Подключитесь к вашему серверу в Windows Admin Center и перейдите на вкладку «Роли и компоненты».

Поставьте галочку напротив «Active Directory Domain Services» и нажмите кнопку «Установить».

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

За процессом установки вы можете наблюдать в разделе уведомлений.

Переносимся на сервер, для которого мы устанавливаем Active Directory Domain Services. Визуально там ничего не изменилось, нажимаем кнопку «Refresh „Dashboard“».

Как можно увидеть, теперь появилась информация о работающем AD DS.

На самом сервере, в Менеджере серверов вы можете начать Promote this server to a domain controller («Сделать этот сервер контроллером домена»), но как это сделать удалённо на компьютере из Windows Admin Center я не знаю.

Опять переходим на компьютер с Windows Admin Center для того, чтобы установить роль «DNS Server». На самом деле, «Active Directory Domain Services», «DNS Server» и любые другие роли и компоненты можно было установить за один раз, просто выбрав несколько галочек.

Всё повторяется — нам показывают список зависимостей.

Наблюдаем за процессом установки.

Теперь в менеджере серверов мы можем убедиться, что DNS сервер работает.

Здесь же, в Windows Admin Center, вы можете и удалить роли и компоненты.

Если вы решите это делать в PowerShell (можно подключиться через соответствующую вкладку в Windows Admin Center), то для того чтобы повысить роль сервера до уровня контроллера домена выполняем команду:

Install-ADDSForest -DomainName "dc.hackware.ru" -CreateDnsDelegation:$false -DatabasePath "C:\Windows\NTDS" -DomainMode "7" -DomainNetbiosName "DC" -ForestMode "7" -InstallDns:$true -LogPath "C:\Windows\NTDS" -NoRebootOnCompletion:$True -SysvolPath "C:\Windows\SYSVOL" -Force:$true

Обратите внимание на опции:

  • -DomainName «dc.hackware.ru»
  • -DomainNetbiosName «DC»

В них устанавливается имя контроллера доменов и имя NetBIOS. Замените их на собственные значения.

В приглашении командной строки укажите и подтвердите пароль для DSRM (Directory Service Restore Mode — режим восстановления службы каталога) и нажмите «Enter».

Parameters

-Credential

The Credential parameter specifies the username and password that’s used to run this command. Typically, you use this parameter in scripts or when you need to provide different credentials that have the required permissions.

This parameter requires the creation and passing of a credential object. This credential object is created by using the Get-Credential cmdlet. For more information, see Get-Credential.

If you use the Forest parameter, the credentials are used to access the forest.

Type: NetworkCredential
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
Applies to: Exchange Server 2010, Exchange Server 2013, Exchange Server 2016, Exchange Server 2019

-DomainName

The DomainName parameter specifies the fully qualified domain name (FQDN) of the domain for which you want to return a list of domain controllers.

Type: Fqdn
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
Applies to: Exchange Server 2010, Exchange Server 2013, Exchange Server 2016, Exchange Server 2019

-Forest

The Forest parameter specifies the FQDN of the root domain of the forest for which you want to return a list of domain controllers.

Type: Fqdn
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
Applies to: Exchange Server 2010, Exchange Server 2013, Exchange Server 2016, Exchange Server 2019

-GlobalCatalog

The GlobalCatalog switch specifies whether the command should return a list of global catalog servers. You don’t need to specify a value with this switch.

Type: SwitchParameter
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
Applies to: Exchange Server 2010, Exchange Server 2013, Exchange Server 2016, Exchange Server 2019

Description

The Get-ADDomainController cmdlet gets the domain controllers specified by the parameters.
You can get domain controllers by setting the Identity, Filter or Discover parameters.

The Identity parameter specifies the domain controller to get.
You can identify a domain controller by its GUID, IPV4Address, global IPV6Address, or DNS host name.
You can also identify a domain controller by the name of the server object that represents the domain controller, the distinguished name of the NTDS settings object or the server object, the GUID of the NTDS settings object or the server object under the configuration partition, or the distinguished name of the computer object that represents the domain controller.
You can also set the Identity parameter to a domain controller object variable, such as , or pass a domain controller object through the pipeline to the Identity parameter.

To search for and retrieve more than one domain controller, use the Filter parameter.
The Filter parameter uses the Windows PowerShell Expression Language to write query strings for Active Directory.
Windows PowerShell Expression Language syntax provides rich type conversion support for value types received by the Filter parameter.
For more information about the Filter parameter syntax, type .
You cannot use a Lightweight Directory Access Protocol (LDAP) query string with this cmdlet.

To get a domain controller by using the discovery mechanism of DCLocator, use the Discover parameter.
You can provide search criteria by setting parameters such as Service, SiteName, DomainName, NextClosestSite, AvoidSelf, and ForceDiscover.

Настройка распространителя в SQL Server

Для начала нужно настроить экземпляр распространителя. В разделе Replication, в контекстном меню нажмите Configure Distribution…

Так как мы хотим использовать этот экземпляр в качестве распространителя, выбираем первый пункт (testnove2 will act as its own Distributor; SQL Server will create a distribution databasse and log).

Указываем директорию для моментальных снимков. Я оставлю стандартный путь.

Указываем директорию для базы данных Distribution. Если есть такая возможность, то лучше разместить файлы базы данных distribution на отдельном массиве дисков

Особенно это важно, если планируется большой объём реплицируемых данных

На этом шаге можно указать экземпляры, которые смогут использовать данный сервер как распространитель. Я сразу добавлю testnode1\node1. Это можно сделать и позже, после начальной конфигурации.

Укажите пароль для связи с экземплярами, которые будут связываться с распространителем.

После этого можно жать Finish. На этом настройка распространителя завершена.

Если вы хотите изменить пароль распространителя или разрешить другим издателям использовать этот распространитель, то можно это сделать через Distributor Properties…

Parameters

-AuthType

Specifies the authentication method to use.
Possible values for this parameter include:

Negotiate or 0

Basic or 1

The default authentication method is Negotiate.

A Secure Sockets Layer (SSL) connection is required for the Basic authentication method.

The following example shows how to set this parameter to Basic.

-AuthType Basic

Type: ADAuthType
Accepted values: Negotiate, Basic
Position: Named
Default value: Microsoft.ActiveDirectory.Management.AuthType.Negotiate
Accept pipeline input: False
Accept wildcard characters: False

-Credential

Specifies the user account credentials to use to perform this task.
The default credentials are the credentials of the currently logged on user unless the cmdlet is run from an Active Directory PowerShell provider drive.
If the cmdlet is run from such a provider drive, the account associated with the drive is the default.

To specify this parameter, you can type a user name, such as «User1» or «Domain01\User01» or you can specify a PSCredential object.
If you specify a user name for this parameter, the cmdlet prompts for a password.

You can also create a PSCredential object by using a script or by using the Get-Credential cmdlet.
You can then set the Credential parameter to the PSCredential object The following example shows how to create credentials.

$AdminCredentials = Get-Credential «Domain01\User01»

The following shows how to set the Credential parameter to these credentials.

-Credential $AdminCredentials

If the acting credentials do not have directory-level permission to perform the task, Active Directory PowerShell returns a terminating error.

Type: PSCredential
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False

-Current

Specifies whether to return the domain of the local computer or the current logged on user (CLU).
Possible values for this parameter are:

LocalComputer or 0

LoggedOnUser or 1

The following example shows how to set this parameter to return the domain of the current logged on user.

-Current LoggedOnUser

Type: ADCurrentDomainType
Accepted values: LocalComputer, LoggedOnUser
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False

-Identity

Specifies an Active Directory domain object by providing one of the following property values.
The identifier in parentheses is the LDAP display name for the attribute.
All values are for the domainDNS object that represents the domain.

Distinguished Name

Example: DC=redmond,DC=corp,DC=contoso,DC=com

GUID (objectGUID)

Example: 599c3d2e-f72d-4d20-8a88-030d99495f20

Security Identifier (objectSid)

Example: S-1-5-21-3165297888-301567370-

DNS domain name

Example: redmond.corp.contoso.com

NetBIOS domain name

Example: redmond

The cmdlet searches the default naming context or partition to find the object.
If two or more objects are found, the cmdlet returns a non-terminating error.

This parameter can also get this object through the pipeline or you can set this parameter to a domain object instance.

This example shows how to set the parameter to a distinguished name.

-Identity «DC=redmond,DC=corp,DC=contoso,DC=com»

This example shows how to set this parameter to a domain object instance named «domainInstance».

-Identity $domainInstance

Type: ADDomain
Position:
Default value: None
Accept pipeline input: True
Accept wildcard characters: False

-Server

Specifies the Active Directory Domain Services instance to connect to, by providing one of the following values for a corresponding domain name or directory server.
The service may be any of the following: Active Directory Lightweight Domain Services, Active Directory Domain Services or Active Directory Snapshot instance.

Domain name values:

Fully qualified domain name

Examples: corp.contoso.com

NetBIOS name

Example: CORP

Directory server values:

Fully qualified directory server name

Example: corp-DC12.corp.contoso.com

NetBIOS name

Example: corp-DC12

Fully qualified directory server name and port

Example: corp-DC12.corp.contoso.com:3268

The default value for the Server parameter is determined by one of the following methods in the order that they are listed:

-By using Server value from objects passed through the pipeline.

-By using the server information associated with the Active Directory PowerShell provider drive, when running under that drive.

-By using the domain of the computer running Windows PowerShell.

The following example shows how to specify a full qualified domain name as the parameter value.

-Server «corp.contoso.com»

Type: String
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False

Пример анализа открытых портов

Я начну с анализа открытых портов на Linux. Просто потому, что мне так проще, а затем мы постепенно перейдём изучить открытые порты на Windows.

Пример информации об открытых портах, полученных командой:

sudo ss -lntup

Пример прослушиваемых портов на Linux:

Netid State   Recv-Q   Send-Q         Local Address:Port     Peer Address:Port                                                                                  
udp   UNCONN  0        0           10.0.2.15%enp0s3:68            0.0.0.0:*      users:(("NetworkManager",pid=318,fd=17))                                       
udp   UNCONN  0        0                  127.0.0.1:5300          0.0.0.0:*      users:(("tor",pid=359,fd=7))                                                   
tcp   LISTEN  0        128                127.0.0.1:9040          0.0.0.0:*      users:(("tor",pid=359,fd=8))                                                   
tcp   LISTEN  0        128                127.0.0.1:8118          0.0.0.0:*      users:(("privoxy",pid=362,fd=3))                                               
tcp   LISTEN  0        128                127.0.0.1:9050          0.0.0.0:*      users:(("tor",pid=359,fd=6))                                                   
tcp   LISTEN  0        128                127.0.0.1:9475          0.0.0.0:*      users:(("httpd",pid=553,fd=5),("httpd",pid=552,fd=5),("httpd",pid=551,fd=5),("httpd",pid=550,fd=5),("httpd",pid=549,fd=5),("httpd",pid=360,fd=5))
tcp   LISTEN  0        128                        *:80                  *:*      users:(("httpd",pid=553,fd=4),("httpd",pid=552,fd=4),("httpd",pid=551,fd=4),("httpd",pid=550,fd=4),("httpd",pid=549,fd=4),("httpd",pid=360,fd=4))
tcp   LISTEN  0        128                        *:22                  *:*      users:(("systemd",pid=1,fd=55))                                                
tcp   LISTEN  0        128                        *:443                 *:*      users:(("httpd",pid=553,fd=7),("httpd",pid=552,fd=7),("httpd",pid=551,fd=7),("httpd",pid=550,fd=7),("httpd",pid=549,fd=7),("httpd",pid=360,fd=7))
tcp   LISTEN  0        80                         *:3306                *:*      users:(("mysqld",pid=427,fd=21))            

В выводимых данных имеются следующие поля:

  • Netid — протокол udp или tcp
  • State — состояние, для протоколов TCP здесь будет LISTEN (поскольку мы явно указали в опциях показать только прослушиваемые порты), а для протоколов UDP здесь будет UNCONN, то есть состояние неизвестно, но, на самом деле, это тоже прослушиваемые порты, которые позволяют подключаться из вне
  • Recv-Q — получено
  • Send-Q — отправлено
  • Local Address:Port — локальный адрес и порт, к которому привязана служба, то есть IP адрес и порт, которые прослушиваются
  • Peer Address:Port — удалённый адрес и порт, к которым выполнено соединение.

Допустим запись 127.0.0.1:9050 для локального адреса и порта означает, что прослушивается порт 9050. Причём он прослушивается только для IP адреса 127.0.0.1. Адрес 127.0.0.1 относится к так называемым Loopback, то есть это замыкающийся на себя, закольцованный адрес. Сетевой интерфейс с этим адресом называется петлевым. Пакеты, которые отправляются с компьютера на этот адрес, приходят на этот же самый компьютер (точнее говоря, они никуда даже не уходят). Доступ к этому адресу может иметь только служба, работающая на этом же самом компьютере

Отсюда важное следствие: хотя порт 9050 прослушивается, никто другой не может к нему подключиться из любой сети. Это же относится и к адресам из диапазона ::1/128 — это такие же адреса, но уже для IPv6, тамошний аналог 127.0.0.1 это ::1 (тоже часто можно видеть в выводимой информации).

Если прослушиваются какие-либо адреса из локальных

  • 10.0.0.0/8
  • 172.16.0.0/12
  • 192.168.0.0/16
  • 127.0.0.0/8

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

Работа с объектами

Так как PowerShell работает с объектами, он позволяет выполнять некие действия над этими объектами, например:

  • Measure-Object – командлет позволяет рассчитывать на основе свойств объектов такие числовые агрегирующие параметры как: минимальное, максимальное, среднее значение, сумму и количество. Например, Вы хотите узнать максимальный или средний размер файла в определенном каталоге, или просто узнать количество файлов (запущенных процессов, служб и так далее);
  • Select-Object – с помощью данного командлета можно выбрать определенные объекты или свойства этих объектов, например Вы хотите выводить только название файла и его размер;
  • Sort-Object — сортирует объекты по значениям свойств;
  • Where-Object – командлет для того чтобы ставить условие для выборки объектов на основе значений их свойств;
  • Group-Object – группирует объекты, которые содержат одинаковое значение для заданных свойств;
  • ForEach-Object – перебор объектов с целью выполнения определенной операции над каждым из этих объектов.

Get-ADGroup – получить информацию о группе AD

Получить информацию о группе поможет командлет Get-ADGroup :

Get-ADGroup «TestADGroup»

Даная команда выводит информацию об основных атрибутах группы (DN, тип группы, имя, SID). Чтобы вывести значение всех атрибутов группы домена AD, выполните такую команду:

Get-ADGroup «TestADGroup» -properties *

Как вы видите, теперь стали отображаться такие атрибуты, как время создания и модификации группы, описание и т.д.

С помощью командлета Get-ADGroup можно найти все интересующие вас группы по определенному шаблону. Например, нужно найти все группы AD, в имени которых содержится фраза admins :

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

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