Разное

Powershell module active directory: Установка и импорт модуля Active Directory для PowerShell

Содержание

Установка и импорт модуля Active Directory для PowerShell


Сегодня я покажу, как установить и использовать модуль администрирования Active Directory для Windows PowerShell. Командлеты этого модуля можно использовать для получения информации и управлением различными объектами и параметрами AD. Данный модуль в серверных ОС устанавливается в виде отдельного компонента. На десктопные ОС (Windows 10, 8.1, 7) придется установить пакет Remote Server Administration Tools (RSAT) в состав которого входит модуль для взаимодействия с AD из PowerShell. Кроме этого модуля в состав RSAT входят все необходимые графические оснастки управления, утилиты командной строки и модули Windows PowerShell для администрирования Windows и AD. Данный пакет для вашей версии ОС нужно самостоятельно скачать с сайта Microsoft.

    Содержание:

  • Установка модуля Active Directory для Windows PowerShell
  • Импорт и использование модуля PowerShell для Active Directory

Установка модуля Active Directory для Windows PowerShell

Модуль Active Directory для Windows PowerShell впервые появился в Windows Server 2008 R2. Он автоматически устанавливается на контроллерах домена при их установке на них роли ADDS. Для использования комадлетов PowerShell из модуля AD в домене должен быть хотя бы один контроллер с Windows Server 2008 R2 или выше. Если в вашей сети имеются DC только с Windows Server 2003 и 2008, необходимо скачать и установить Active Directory Management Gateway Service. Командлеты PowerShell из модуля Active Directory взаимодействуют с веб-сервисом, который является частью контролера домена с ролью ADDS.

Вы можете установить модуль Active Directory для Windows PowerShell не только на контроллер домена, но и на любой рядовой сервер домена или рабочую станцию. В Windows Server 2016 установить модуль Active Directory для Windows PowerShell можно из графической консоли Server Manager с помощью мастера добавления ролей и компонентов. Достаточно запустить мастер и на этапе выбора компонентов нужно выбрать пункт Средства удаленного администрирования сервера -> Средства администрирования ролей -> Средства AD DS и AD LDS -> Модуль Active Directory для Windows PowerShell (Remote Server Administration Tools > Role Administration Tools > AD DS and AD LDS Tools ->Active Directory module for Windows PowerShell).

Данный модуль можно установит и с помощью PowerShell. Откройте консоль PowerShell с правами администратора и выполните команды:

Import-Module ServerManager

Add-WindowsFeature -Name "RSAT-AD-PowerShell" –IncludeAllSubFeature

В Windows 10, Windows 8.1 и Windows 10 для установки модуля RSAT-AD-PowerShell нужно сначала установить соответствующую версию RSAT, после этого модуль нужно включить в Панели управления (Панель управления -> Программы ->Программы и компоненты и нажмите «Включить компоненты Windows» -> Remote Server Administration Tools -> Role Administration Tools -> AD DS and AD LDS Tools -> включите компонент Active Directory Module for Windows POwerShell.

Либо можно установить модуль с помощью PowerShell:

Enable-WindowsOptionalFeature -Online -FeatureName RSATClient-Roles-AD-Powershell

Импорт и использование модуля PowerShell для Active Directory

В Windows 7 и Windows Server 2008 R2, на которых установлен PowerShell 2.0, чтобы начать пользоваться модулем AD необходимо импортировать его в сессию PowerShell командой:

Import-Module activedirectory

Кроме того, вы можете экспортировать модуль с удаленной машины, где он уже установлен и импортировать его в свою сессию PowerShell:

$MySession = New-PSSession -ComputerName MyDomainController
Export-PSsession -Session $MySession -Module ActiveDirectory -OutputModule RemoteADPosh
Remove-PSSession -Session $MySession
Import-Module RemoteADPosh

В Windows Server 2012 R2/ 2016 и Windows 8.1 / Windows 10 модуль (если он установлен) импортируется в сессию автоматически.

Если компьютер включен в домен, по умолчанию создается диск по имени AD:..Вы можете перейти на этот диск командой CD и использовать привычные команды работы с файловой системой для навигации по этому диску. Пути представлены в формате X500.

PS C:\> cd AD:
PS AD:\> dir

PS AD:\> cd "DC=vmblog,DC=ru"

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

Get-Command -Module ActiveDirectory

В различных версия Windows доступно разное количество командлетов:

  • Windows Server 2008 R2 — 76 командлетов.
  • Windows Server 2012 — 135 командлетов
  • Windows Server 2012 R2 / 2016 — 147 командлетов.

Итак, теперь вы можете использовать командлеты PowerShell для администрирования AD. На нашем сайты вы можете познакомиться с использованием следующих командлетов из модуля AD для PowerShell: Get-ADGroupMember , Add-ADGroupMember , Move-ADDirectoryServerOperationMasterRole, New-ADGroup.

Advanced Active Directory Replication and Topology Management Using Windows PowerShell (Level 200)



  • Чтение занимает 7 мин

В этой статье

Область применения. Windows Server 2016, Windows Server 2012 R2, Windows Server 2012Applies To: Windows Server 2016, Windows Server 2012 R2, Windows Server 2012

В этом разделе подробно описываются новые командлеты для управления репликацией и топологией доменных служб Active Directory и приводятся дополнительные примеры.This topic explains the new AD DS replication and topology management cmdlets in more detail, and provides additional examples. Общие сведения см. в статьях Общие сведения об Active Directory репликации и управлении топологией с помощью Windows PowerShell (уровня 100).For an introduction, see Introduction to Active Directory Replication and Topology Management Using Windows PowerShell (Level 100).

  1. ВведениеIntroduction

  2. Репликация и метаданныеReplication and Metadata

  3. Get-ADReplicationAttributeMetadataGet-ADReplicationAttributeMetadata

  4. Get-ADReplicationPartnerMetadataGet-ADReplicationPartnerMetadata

  5. Get-ADReplicationFailureGet-ADReplicationFailure

  6. Get-ADReplicationQueueOperation и Get-ADReplicationUpToDatenessVectorTableGet-ADReplicationQueueOperation and Get-ADReplicationUpToDatenessVectorTable

  7. Sync-ADObjectSync-ADObject

  8. ТопологияTopology

ВведениеIntroduction

В Windows Server 2012 модуль Active Directory для Windows PowerShell расширен двадцатью пятью новыми командлетами, предназначенными для управления репликацией и топологией леса.Windows Server 2012 extends the Active Directory module for Windows PowerShell with twenty-five new cmdlets to manage replication and forest topology. До этого были вынуждены использовать существительные Generic ** * -адобжект** или вызывайте функции .NET.Prior to this, you were forced to use the generic *-AdObject nouns or call .NET functions.

Как и все командлеты Windows PowerShell для Active Directory, эти новые командлеты требуют установки службы шлюза управления Active Directory по крайней мере на одном контроллере домена (а лучше на всех).Like all Active Directory Windows PowerShell cmdlets, this new functionality requires installing the Active Directory Management Gateway Service on at least one domain controller (and preferably, all domain controllers).

В таблице ниже перечислены новые командлеты управления репликацией и топологией, добавленные в модуль Active Directory для Windows PowerShell.The following table lists new replication and topology cmdlets added to the Active Directory Windows PowerShell module.

КомандлетCmdletПояснениеExplanation
Get-ADReplicationAttributeMetadataGet-ADReplicationAttributeMetadataВозвращает метаданные репликации атрибутов для объекта.Returns attribute replication metadata for an object
Get-ADReplicationConnectionGet-ADReplicationConnectionВозвращает сведения об объекте подключения к контроллеру домена.Returns domain controller connection object details
Get-ADReplicationFailureGet-ADReplicationFailureВозвращает сведения о последнем сбое репликации для домена контроллера.Returns the most replication recent failure for a domain controller
Get-ADReplicationPartnerMetadataGet-ADReplicationPartnerMetadataВозвращает конфигурацию репликации для контроллера домена.Returns replication configuration of a domain controller
Get-ADReplicationQueueOperationGet-ADReplicationQueueOperationВозвращает текущую невыполненную часть очереди репликации.Returns the current replication queue backlog
Get-ADReplicationSiteGet-ADReplicationSiteВозвращает сведения о сайте.Returns site information
Get-ADReplicationSiteLinkGet-ADReplicationSiteLinkВозвращает сведения о связи сайта.Returns site link information
Get-ADReplicationSiteLinkBridgeGet-ADReplicationSiteLinkBridgeВозвращает сведения о мосте связей сайтов.Returns site link bridge information
Get-ADReplicationSubnetGet-ADReplicationSubnetВозвращает сведения о подсети Active Directory.Returns AD subnet information
Get-ADReplicationUpToDatenessVectorTableGet-ADReplicationUpToDatenessVectorTableВозвращает сведения о векторе UTD для контроллера домена.Returns the UTD vector for a domain controller
Get-ADTrustGet-ADTrustВозвращает сведения об отношении доверия между доменами или лесами.Returns information about an inter-domain or inter-forest trust
New-ADReplicationSiteNew-ADReplicationSiteСоздает сайт.Creates a new site
New-ADReplicationSiteLinkNew-ADReplicationSiteLinkСоздает связь сайтов.Creates a new site link
New-ADReplicationSiteLinkBridgeNew-ADReplicationSiteLinkBridgeСоздает мост связей сайтов.Creates a new site link bridge
New-ADReplicationSubnetNew-ADReplicationSubnetСоздает подсеть Active Directory.Creates a new AD subnet
Remove-ADReplicationSiteRemove-ADReplicationSiteУдаляет сайт.Deletes a site
Remove-ADReplicationSiteLinkRemove-ADReplicationSiteLinkУдаляет связь сайтов.Deletes a site link
Remove-ADReplicationSiteLinkBridgeRemove-ADReplicationSiteLinkBridgeУдаляет мост связей сайтов.Deletes a site link bridge
Remove-ADReplicationSubnetRemove-ADReplicationSubnetУдаляет подсеть Active Directory.Deletes an AD subnet
Set-ADReplicationConnectionSet-ADReplicationConnectionИзменяет подключение.Modifies a connection
Set-ADReplicationSiteSet-ADReplicationSiteИзменяет сайт.Modifies a site
Set-ADReplicationSiteLinkSet-ADReplicationSiteLinkИзменяет связь сайтов.Modifies a site link
Set-ADReplicationSiteLinkBridgeSet-ADReplicationSiteLinkBridgeИзменяет мост связей сайтов.Modifies a site link bridge
Set-ADReplicationSubnetSet-ADReplicationSubnetИзменяет подсеть Active DirectoryModifies an AD subnet
Sync-ADObjectSync-ADObjectПринудительная репликация отдельного объекта.Forces replication of a single object

Большинство этих командлетов основаны на программе Repadmin.exe.Most of these cmdlets have their basis in Repadmin.exe. Другие командлеты (не приведенные в списке) используют такие компоненты, как динамический контроль доступа и групповые управляемые учетные записи служб.Other cmdlets (not listed) handle features like Dynamic Access Control and Group Managed Service Accounts.

Чтобы просмотреть весь список командлетов Windows PowerShell для Active Directory, выполните указанную ниже команду.For a complete list of all Active Directory Windows PowerShell cmdlets, run:

Get-command -module ActiveDirectory

Чтобы просмотреть весь список аргументов командлетов Windows PowerShell для Active Directory, обратитесь к справке.For a complete list of all Active Directory Windows PowerShell cmdlet arguments, reference the help. Например:For example:

Get-help New-ADReplicationSite

Загрузка и установка файлов справки с помощью командлета Update-HelpUse the Update-Help cmdlet to download and install help files

Репликация и метаданныеReplication and Metadata

Программа Repadmin.exe проверяет состояние и согласованность репликации Active Directory.Repadmin.exe validates the health and consistency of Active Directory replication. Repadmin.exe обеспечивает простые средства для манипуляции с данными, например некоторые аргументы поддерживают вывод данных в формате CSV. Но для автоматизации, как правило, требуется разбор содержимого текстовых файлов.Repadmin.exe offers simple data manipulation options — some arguments support CSV outputs, for example — but automation generally required parsing through text file outputs. Модуль Active Directory для Windows PowerShell — это первая попытка обеспечить настоящий контроль над возвращаемыми данными. Раньше приходилось создавать сценарии или использовать сторонние средства.The Active Directory module for Windows PowerShell is the first attempt at offering an option that allows real control over the returned data; prior to this, you had to create scripts or use third party tools.

Кроме того, в следующих командлетах реализован новый набор параметров, включающий параметры Target, Scope и EnumerationServer:Additionally, the following cmdlets implement a new parameter set of Target, Scope, and EnumerationServer:

  • Get-ADReplicationFailureGet-ADReplicationFailure

  • Get-ADReplicationPartnerMetadataGet-ADReplicationPartnerMetadata

  • Get-ADReplicationUpToDatenessVectorTableGet-ADReplicationUpToDatenessVectorTable

Аргумент Target принимает разделенный запятыми список строк, которые определяют целевые серверы, сайты, домены или леса, указанные в аргументе Scope.The Target argument accepts a comma-separated list of strings that identify the target servers, sites, domains, or forests specified by the Scope argument. Звездочка ( * ) также является допустимой и означает все серверы в указанной области.An asterisk (*) is also permissible and means all servers within the specified scope. Если область не указана, подразумевается использование всех серверов в лесу текущего пользователя.If no scope is specified, it implies all servers in the current user’s forest. Аргумент Scope определяет диапазон поиска.The Scope argument specifies the latitude of the search. Допустимые значения: Server, Site, Domain и Forest.Acceptable values are Server, Site, Domain, and Forest. Аргумент EnumerationServer определяет сервер, который перечисляет список контроллеров домена, указанных в аргументах Target и Scope.The EnumerationServer specifies the server that enumerates the list of domain controllers specified in Target and Scope. Он работает так же, как аргумент Server, и требует, чтобы на указанном сервере была запущена веб-служба Active Directory.It operates the same as the Server argument and requires the specified server run the Active Directory Web Service.

Для знакомства с новыми командлетами ниже приведено несколько примеров сценариев, в которых показаны возможности, недоступные в repadmin.exe. Эти примеры наглядно демонстрируют возможности для администраторов.To introduce the new cmdlets, here are some sample scenarios showing capabilities impossible to repadmin.exe; armed with these illustrations, the administrative possibilities become obvious. Конкретные требования для использования командлета можно найти в справке по нему.Review the cmdlet help for specific usage requirements.

Get-ADReplicationAttributeMetadataGet-ADReplicationAttributeMetadata

Этот командлет аналогичен команде repadmin.exe /showobjmeta.This cmdlet is similar to repadmin.exe /showobjmeta. Он позволяет возвращать метаданные репликации, например время изменения атрибута, исходный контроллер домена, версию и информацию USN, а также данные атрибута.It enables you to return replication metadata, such as when an attribute changed, the originating domain controller, the version and USN information, and attribute data. Этот командлет полезен для отслеживания времени и места внесения изменения.This cmdlet is useful for auditing where and when a change occurred.

В отличие от программы Repadmin, среда Windows PowerShell предоставляет гибкий контроль над поиском и выходными данными.Unlike Repadmin, Windows PowerShell gives flexible search and output control. Например, метаданные объекта «Администраторы домена» могут выводиться в виде упорядоченного читаемого списка:For example, you can output the metadata of the Domain Admins object, ordered as a readable list:

Get-ADReplicationAttributeMetadata -object "cn=domain admins,cn=users,dc=corp,dc=contoso,dc=com" -server dc1.corp.contoso.com -showalllinkedvalues | format-list

Данные также можно упорядочить в виде таблицы, как они выводятся программой repadmin:Alternatively, you can arrange the data to look like repadmin, in a table:

Get-ADReplicationAttributeMetadata -object "cn=domain admins,cn=users,dc=corp,dc=contoso,dc=com" -server dc1.corp.contoso.com -showalllinkedvalues | format-table -wrap

Кроме того, можно получить метаданные для всего класса объектов, направив выходные данные командлета Get-Adobject в фильтр по конвейеру. Например, таким образом можно получить данные по всем группам за определенную дату.Alternatively, you can get metadata for an entire class of objects, by pipelining the Get-Adobject cmdlet with a filter, such as all groups — then combine that with a specific date. Конвейер — это канал, используемый несколькими командлетами для обмена данными.The pipeline is a channel used between multiple cmdlets to pass data. Чтобы просмотреть все группы, измененные каким-либо образом 13 января 2012 года, выполните указанную ниже команду.To see all groups modified in some fashion on January 13th, 2012:

get-adobject -filter 'objectclass -eq "group"' | Get-ADReplicationAttributeMetadata -server dc1.corp.contoso.com | where-object {$_.lastoriginatingchangetime -like "*1/13/2012*" -and $_.attributename -eq "name"} | format-table object

Дополнительные сведения о других операциях Windows PowerShell с конвейерами см. в разделе Конвейерная передача и конвейер в Windows PowerShell.For more information about more Windows PowerShell operations with pipelines, see Piping and the Pipeline in Windows PowerShell.

Чтобы узнать, в какие группы входит пользователь Tony Wang и когда каждая из этих групп была изменена в последний раз, выполните указанную ниже команду.Alternatively, to find out every group that has Tony Wang as a member and when the group was last modified:

get-adobject -filter 'objectclass -eq "group"' | Get-ADReplicationAttributeMetadata -server dc1.corp.contoso.com -showalllinkedvalues | where-object {$_.attributevalue -like "*tony wang*"} | format-table object,LastOriginatingChangeTime,version -auto

Чтобы найти все объекты, восстановленные принудительно с помощью резервной копии состояния системы в домене, на основе полученной искусственно новой версии, выполните указанную ниже команду.Alternatively, to find all objects authoritatively restored using a system state backup in the domain, based on their artificially high version:

get-adobject -filter 'objectclass -like "*"' | Get-ADReplicationAttributeMetadata -server dc1.corp.contoso.com | where-object {$_.version -gt "100000" -and $_.attributename -eq "name"} | format-table object,LastOriginatingChangeTime

Чтобы отправить все метаданные пользователей в файл CSV для дальнейшего анализа в Microsoft Excel, выполните указанную ниже команду.Alternatively, send all user metadata to a CSV file for later examination in Microsoft Excel:

get-adobject -filter 'objectclass -eq "user"' | Get-ADReplicationAttributeMetadata -server dc1.corp.contoso.com -showalllinkedvalues | export-csv allgroupmetadata.csv

Get-ADReplicationPartnerMetadataGet-ADReplicationPartnerMetadata

Этот командлет возвращает сведения о конфигурации и состоянии репликации для контроллера домена, которые можно использовать для мониторинга, инвентаризации или устранения неполадок.This cmdlet returns information about the configuration and state of replication for a domain controller, allowing you to monitor, inventory, or troubleshoot. В отличие от программы Repadmin.exe, среда Windows PowerShell позволяет просматривать только необходимые данные в удобном формате.Unlike Repadmin.exe, using Windows PowerShell means you see only the data that is important to you, in the format you want.

Например, так выглядит состояние репликации отдельного контроллера домена в удобном для восприятия формате:For example, the readable replication state of a single domain controller:

Get-ADReplicationPartnerMetadata -target dc1.corp.contoso.com

Так выглядят сведения о последней попытке внутренней репликации контроллера домена и репликации его партнеров в табличном формате:Alternatively, the last time a domain controller replicated inbound and its partners, in a table format:

Get-ADReplicationPartnerMetadata -target dc1.corp.contoso.com | format-table lastreplicationattempt,lastreplicationresult,partner -auto

Чтобы связаться со всеми контроллерами домена в лесу и получить сведения о тех из них, при последней попытке репликации которых произошел сбой по какой-либо причине, выполните указанную ниже команду:Alternatively, contact all domain controllers in the forest and display any whose last attempted replication failed for any reason:

Get-ADReplicationPartnerMetadata -target * -scope server | where {$_.lastreplicationresult -ne "0"} | ft server,lastreplicationattempt,lastreplicationresult,partner -auto

Get-ADReplicationFailureGet-ADReplicationFailure

С помощью этого командлета можно получать информацию о последних ошибках репликации.This cmdlet can be used to returns information about recent errors in replication. Он аналогичен команде Repadmin.exe /showreplsum, но также обеспечивает более эффективный контроль благодаря среде Windows PowerShell.It is analogous to Repadmin.exe /showreplsum, but again, with much more control thanks to Windows PowerShell.

Например, можно получить сведения о последних сбоях контроллера домена и партнерах, с которыми не удалось связаться:For example, you can return a domain controller’s most recent failures and the partners he failed contacting:

Get-ADReplicationFailure dc1.corp.contoso.com

Чтобы получить таблицу с наиболее важными сведениями о всех серверах в определенном логическом сайте Active Directory, упорядоченными для более удобного просмотра, выполните указанную ниже команду:Alternatively, return a table view for all servers in a specific AD logical site, ordered for easier viewing and containing only the most critical data:

Get-ADReplicationFailure -scope site -target default-first-site-name | format-table server,firstfailuretime,failurecount,lasterror,partner -auto

Get-ADReplicationQueueOperation и Get-ADReplicationUpToDatenessVectorTableGet-ADReplicationQueueOperation and Get-ADReplicationUpToDatenessVectorTable

Оба эти командлета возвращают дополнительные сведения об актуальном состоянии контроллера домена, включая текущие сведения о репликации и векторе версии.Both of these cmdlets returns further aspects of domain controller «up to dateness», which includes pending replication and version vector information.

Sync-ADObjectSync-ADObject

Этот командлет аналогичен команде Repadmin.exe /replsingleobject.This cmdlet is analogous to running Repadmin.exe /replsingleobject. Он очень полезен при внесении изменений, требующих отдельной репликации, особенно при устранении неполадок.It is very useful when you make changes that require out of band replication, especially to fix an issue.

Например, если кто-то удалил учетную запись генерального директора, а затем восстановил ее с помощью корзины Active Directory, возможно, ее необходимо немедленно реплицировать на все контроллеры домена.For example, if someone deleted the CEO’s user account and then restored it with the Active Directory Recycle Bin, you probably want it replicated to all domain controllers immediately. Кроме того, возможно, это следует сделать без принудительной репликации изменений, внесенных в другие объекты, ведь именно для этого служит расписание репликации, позволяющее не перегружать каналы глобальной сети.You also probably want to do this without forcing replication of all the other object changes made ; after all, that is why you have a replication schedule — to avoid overloading WAN links.

Get-ADDomainController -filter * | foreach {Sync-ADObject -object "cn=tony wang,cn=users,dc=corp,dc=contoso,dc=com" -source dc1 -destination $_.hostname}

ТопологияTopology

Хотя программа Repadmin.exe — это эффективное средство для получения информации о топологии репликации, включая сайты, связи сайтов, мосты связей сайтов и подключения, она не предоставляет достаточно широкий набор аргументов для внесения изменений.While Repadmin.exe is good at returning information about replication topology like sites, site links, site link bridges, and connections, it does not have a comprehensive set of arguments to make changes. По сути, в Windows до сих пор не было встроенной программы с поддержкой сценариев, предназначенной специально для создания и изменения топологии доменных служб Active Directory администраторами.In fact, there has never been scriptable, in-box Windows utility designed specifically for administrators to create and modify AD DS topology. С распространением служб Active Directory в средах миллионов клиентов потребность в массовом изменении логической информации Active Directory стала очевидной.As Active Directory has matured in millions of customer environments, the need to bulk modify Active Directory logical information becomes apparent.

Например, после быстрого развертывания новых филиалов, сопровождающегося объединением существующих, может потребоваться внести сотни изменений в сайты в соответствии с их физическим расположением, характеристиками сети и новыми требованиями к емкости.For example, after a rapid expansion of new branch offices, combined with the consolidation of others, you might have a hundred site changes to make based on physical locations, network changes, and new capacity requirements. Эти изменения можно внести не с помощью средств Dssites.msc и Adsiedit.msc, а автоматически.Rather than using Dssites.msc and Adsiedit.msc to make changes, you can automate. Это особенно удобно, если вам приходится действовать на основе таблиц с данными, предоставленными группами сетевой инфраструктуры и технического обслуживания.This is especially compelling when you start with a spreadsheet of data provided by your network and facilities teams.

Командлеты Get- \ адрепликатион* возвращают сведения о топологии репликации и полезны для многоканального конвейера в командлеты ** \ Set-адрепликатион***.The Get-Adreplication\* cmdlets return information about replication topology and are useful for pipelining into the Set-Adreplication\* cmdlets in bulk. Командлеты Get не изменяют данные, они показывают только данные или создают объекты сеанса Windows PowerShell, которые можно конвейерировать в командлеты **Set-адрепликатион \ ***.Get cmdlets do not change data, they only show data or to create Windows PowerShell session objects that can be pipelined to Set-Adreplication\* cmdlets. Командлеты New и Remove полезны для создания и удаления объектов топологии Active Directory.The New and Remove cmdlets are useful for creating or removing Active Directory topology objects.

Например, можно создавать сайты с помощью файла CSV:For example, you can create new sites using a CSV file:

import-csv -path C:\newsites.csv | new-adreplicationsite

Чтобы создать связь между двумя существующими сайтами с настраиваемым интервалом репликации и стоимостью сайтов, выполните указанную ниже команду.Alternatively, create a new site link between two existing sites with a custom replication interval and site cost:

new-adreplicationsitelink -name "chicago<-->waukegan" -sitesincluded chicago,waukegan -cost 50 -replicationfrequencyinminutes 15

Чтобы найти каждый сайт в лесу и заменить его атрибут Options на флаг, включающий уведомления об изменениях между сайтами, с целью максимально быстрой репликации со сжатием, выполните указанную ниже команду.Alternatively, find every site in the forest and replace their Options attributes with the flag to enable inter-site change notification, in order to replicate at maximum speed with compression:

get-adreplicationsitelink -filter * | set-adobject -replace @{options=$($_.options -bor 1)}

Важно!

Чтобы отключить сжатие для этих связей сайтов, задайте параметр -bor 5.Set -bor 5 to disable compression on those site links as well.

Чтобы найти все сайты с отсутствующими назначениями подсетей с целью сверки списка фактических подсетей для этих расположений, выполните указанную ниже команду.Alternatively, find all sites missing subnet assignments, in order to reconcile the list with the actual subnets of those locations:

get-adreplicationsite -filter * -property subnets | where-object {!$_.subnets -eq "*"} | format-table name

См. такжеSee Also

Общие сведения об Active Directory репликации и управлении топологией с помощью Windows PowerShell (уровня 100)Introduction to Active Directory Replication and Topology Management Using Windows PowerShell (Level 100)



Использование модуля Active Directory PowerShell без установки RSAT

В одной из предыдущих статей мы показывали, как использовать командлет Set-ADComputer в логон-скрипте для сохранения информации о текущем пользователе в свойствах каждого компьютера в AD. Один из комментаторов вполне резонно отметил, что в таком случае придется устанавливать RSAT с модулем Active Directory for Windows PowerShell на компьютеры всех пользователей, что довольно трудоемко. Я решил попробовать разобраться, можно ли использовать командлеты модуля PS Module for AD без его установки на компьютеры пользователей. И у меня получилось!

Итак, допустим у нас имеется сервер с Windows Server 2012 R2, на котором установлен RSAT и модуль RSAT-AD-PowerShell. Наша задача, скопировать файлы модуля RSAT-AD-PowerShell на рабочую станцию и попробовать импортировать их для запуска различных командлетов модуля AD. В качестве рабочей станции я специально использую Windows 10 LTSC (основана на 1809), чтобы показать, что старые версия модуля RSAT-AD-PowerShell поддерживаются в более новых ОС.

Сначала скопируем все необходимые файлы модуля AD с Windows Server 2012 R2. Создайте папку C:\PS\ADPoSh и скопируйте в нее содержимое каталога C:\Windows\System32\WindowsPowerShell\v1.0\Modules.

Затем из каталога C:\Windows\WinSxS скопируйте файлы:

  • Microsoft.ActiveDirectory.Management.dll
  • Microsoft.ActiveDirectory.Management.resources.dll

Эти библиотеки можно найти поиском по каталогу WinSxS. В моем примере на Windows Server 2012 R2 полный путь выглядел так:

"C:\Windows\WinSxS\amd64_microsoft.activedirectory.management_31bf3856ad364e35_6.3.9600.16503_none_09aa35cd49da6068\Microsoft.ActiveDirectory.Management.dll"

И

"C:\Windows\WinSxS\amd64_microsoft.activedir..anagement.resources_31bf3856ad364e35_6.3.9600.16384_en-us_efefcf68718a71bc\Microsoft.ActiveDirectory.Management.resources.dll"

Теперь скопируйте каталог C:\PS\ADPoSh (в моем случае его размер составил около 1,3 Мб), на компьютер, на котором отсутствует модуль RSAT AD for Windows PowerShell. В этом примере я использую компьютер с Windows 10.

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

Import-Module "C:\PS\ADPoSh\Microsoft.ActiveDirectory.Management.dll"

Import-Module "C:\PS\ADPoSh\Microsoft.ActiveDirectory.Management.resources.dll"

Модуль успешно импортирован, теперь вы можете использовать любые командлеты модуля AD для управления и получения информации из домена AD (например get-aduser, get-adcomputer, get-adgroup и т.д.).

При появлении ошибки ‘Unable to contact the server. This may be because this server does not exist, it is currently down, or it does not have the Active Directory Web Services running‘ нужно проверить, что служба Active Directory Web Services (ADWS) на ближайшем контроллере домена запушена и порт TCP 9389 не блокируется файерволом.

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

Get-ADDomainController -Discover -Service «ADWS»

Доступность службы можно проверить с помощью командлета Test-NetConnection:

tnc MSK-DC01 -port 9389

Чтобы выполняить командлеты на конкретном DC, нужно использовать параметр –Server:

Get-aduser aaivanov –server msk-dc01.winitpro.ru

Вы можете использовать командлеты модуля AD пока не закроете сессию PowerShell. Файлы модуля можно скопировать файлы на все компьютеры в домене через GPO,

Установка модуля Active Directory для Windows PowerShell (RSAT-AD-PowerShell) на Windows Server 2016 | Info-Comp.ru

Сегодня мы научимся устанавливать средства удаленного администрирования сервера на примере модуля Active Directory для Windows PowerShell, все это мы будем делать в операционной системе Windows Server 2016.

Что такое RSAT?

RSAT или Remote Server Administration Tools – это средства удаленного администрирования сервера, которые предназначены для управления ролями и компонентами сервера. В состав RSAT входят и необходимые оснастки управления, и утилиты командной строки и модули Windows PowerShell. Вы можете установить все это сразу, а можете только то, что Вам нужно.

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

В серверных операционных систем они поставляются в виде компонента, и сегодня мы научимся устанавливать RSAT в Windows Server 2016.

Установка модуля Active Directory для Windows PowerShell

По умолчанию в системе установлены не все модули Windows PowerShell, некоторые из них добавляются во время установки соответствующей роли или компонента. Например, если Ваш сервер не является контроллером домена, соответствующего модуля PowerShell (RSAT-AD-PowerShell) для администрирования Active Directory в нем нет, т.е. использовать командлеты PowerShell для управления AD Вы не сможете. Однако Вы можете установить модуль PowerShell для работы с Active Directory. Именно это мы сейчас и рассмотрим, при этом я покажу два варианта установки модуля RSAT-AD-PowerShell — это с помощью «Мастера добавления ролей и компонентов», т.е. используя графический интерфейс и, конечно же, с помощью Windows PowerShell.

Процесс установки модуля Active Directory для Windows PowerShell такой же, как и установка остальных компонентов и средств удаленного администрирования в Windows Server 2016, поэтому если Вы умеете устанавливать роли или компоненты сервера, то с установкой RSAT-AD-PowerShell Вы легко справитесь.

Установка модуля RSAT-AD-PowerShell с помощью мастера

Шаг 1

Запускаем «Диспетчер серверов» и нажимаем «Управление ->Добавить роли или компоненты».

Шаг 2

На первом окне можем сразу нажать «Далее».

Шаг 3

Далее выбираем тип установки, мы хотим установить компонент, поэтому выбираем первый пункт «Установка ролей или компонентов», жмем «Далее».

Шаг 4

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

Шаг 5

На этом шаге нам предлагают выбрать роли для установки, а так как мы не собираемся устанавливать роли, сразу жмем «Далее».


Шаг 6

На шаге выбора компонентов мы ищем пункт «Средства удаленного администрирования сервера -> Средства администрирования ролей -> Средства AD DS и AD LDS -> Модуль Active Directory для Windows PowerShell» и отмечаем его галочкой, жмем «Далее».

Шаг 7

Проверяем выбор компонентов и жмем «Установить».

Начнется процесс установки модуля Active Directory для Windows PowerShell.

Он будет завершен, когда мы увидим сообщение «Установка выполнена на …», нажимаем «Закрыть».

Установка модуля RSAT-AD-PowerShell с помощью PowerShell

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

Для установки модуля Active Directory для Windows PowerShell запустите оболочку PowerShell и выполните следующие команды (вместо командлета Add-WindowsFeature можно использовать Install-WindowsFeature).

  
  Import-Module ServerManager 
  Add-WindowsFeature -Name "RSAT-AD-PowerShell" –IncludeAllSubFeature


Смотрим список командлетов PowerShell для работы с Active Directory

Для того чтобы проверить, что у нас установился необходимый модуль PowerShell давайте, выполним команды, которые покажут нам количество командлетов для работы с Active Directory и сам список этих командлетов.

Чтобы узнать, сколько у нас командлетов для администрирования Active Directory пишем вот такую команду

  
  Get-Command -Module ActiveDirectory | Measure-Object


А для того чтобы посмотреть полный перечень командлетов пишем следующую команду, т.е. результат работы Get-Command мы не передаем по конвейеру командлету Measure-Object.

  
  Get-Command -Module ActiveDirectory


Мы видим, что нас появилось 147 командлетов для работы с Active Directory, которые мы теперь можем использовать для администрирования AD.

На этом все, надеюсь, материал был Вам полезен, удачи!

Нравится1Не нравится

Установка Active Directory через Powershell на версию Core

Установку Active Directory я проводил на версии Sercer Core 2016 с Powershell 5.1. Все нужные командлеты должны быть c версии Windows Server 2012. В редакции 2008 командлет будет звучать как Add-WindowsFeature, вместо Install. 


На мой взгляд отличный вариант использовать наш второй сервер AD в виде версии Core т.к. и обновлений существенно меньше, безопасность выше, нагрузка меньше. Единственный минус — это проблемы с ОС или ролью, которые достаточно сложно диагностировать в командной строке, но для этого есть второй сервер с GUI.


В версии Core у нас изначально запускается CMD, что бы запустить Powershell пишем:



powershell


Т.к. я провожу установку на новый сервер первое что я делаю — меняю IP на статику. Для этого получаем список адаптеров:



Get-NetAdapter


Нам нужно значение ifIndex:



Далее меняем IP:



New-NetIPAddress -IPAddress 192.168.3.100 -DefaultGateway 192.168.3.2 -PrefixLength 24 -InterfaceIndex 4


Где:

-IPAddress — IP адрес для этого сервера

-DefaultGateway — шлюз

-PrefixLength — битовая длина маски, в моем случае соответствует 255.255.255.0

-InterfaceIndex — индификатор интерфейса (номер с рисунка выше)


Далее устанавливаем DNS сервер, если нужен (для существующего леса нужен):



Set-DnsClientServerAddress -InterfaceIndex 4 -ServerAddresses 192.168.3.101,8.8.8.8


Где:

-InterfaceIndex — тот же индефикатор, что и выше

-ServerAddresses — наши DNS, разделенные запятой. 


Меняем имя компьютера:



Rename-Computer -NewName DC1


Где:

-NewName — новое имя


И перезагружаемся:



Restart-Computer 


Теперь нам нужно узнать имя роли для установки. Таким командлетом мы получим все роли и компоненты включающие в себя «AD»:



Get-WindowsFeature -Name *AD*



Нам нужно значение из колонки Name. Перейдем к установке роли:



Install-WindowsFeature -Name AD-Domain-Services


Где:

-Name — имя роли


Можно так же добавить ключ -IncludeManagementTools , который добавит компоненты графического интерфейса и средства командной строки. Я обычно добавляю т.к. стараюсь избежать вероятных проблем с RSAT со стороны клиента, но это маловероятно. 


Вот чем эти варианты отличаются:



Ключ -WhatIF проверяет как пройдет процесс установки, но не делает ее. Ключ -Verbose проводит установку и показывает весь ход установки более детально.


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



Add-ADDSReadOnlyDomainControllerAccount    — устанавливает домен контроллер только для чтения

Install-ADDSDomain — создает новы домен в лесу

Install-ADDSDomainController — создает домен контроллер

Команды с Test — проверяют пререквизиты перед установкой.


Установка домен контроллера


Далее у нас есть 2 варианта установки. Если мы устанавливаем домен контроллер в существующем лесу, то мы можем его ввести в домен (DNS прописывали выше) а затем выполнить команду от привилегированного пользователя. Вводим в домен этой командой:



Add-Computer -DomainName "domain.local" -Restart


Где:

-DomainName — имя существующего домена


Или мы можем ввести логин/пароль перед самой устновкой домен контроллера:



$Cred = Get-Credential
Install-ADDSDomainController -InstallDns -Credential $Cred -DomainName "domain.local"


Где:

$Cred — переменная с привилегированными учетными данными (powershell сам запросит их). Она не нужна, если мы уже в домене и залогинены под нужной учеткой.

-InstallDNS — устанавливаем DNS

-Credential — переменная с учеткой

-DomainName — имя домена


После этого powershell попросит ввести пароль для восстановления AD и через несколько минут установка завершится.


Одни из дополнительных ключей, которые могут пригодиться:

-InstallationMediaPath — установка базы с флешки (когда база очень большая)

-ReplicationSourceDC — откуда релицировать данные

-SysvolPath — место для хранения sysvol

-DatabasePath — место для хранения базы

-LogPath — место для хранения логов домен контроллера

-MoveInfrastructureOperationMasterRoleIfNecessary — переносит мастера инфраструктуры. Если включен этот ключ, то мы добавить -NoGlobalCatalog соответственно


Установка леса



Install-ADDSForest -DomainName "domain.local"


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


Одни из дополнительных ключей:

-DatabasePath — путь где будет храниться база NTDS

-ForestMode — уровень работы леса

-DomainMode — уровень работы 

-LogPath — место хранения логов

-SysvolPath — место хранения sysvol

Теги:

#powershell

Управление группами AD с помощью PowerShell

В этой статье мы рассмотрим возможности PowerShell по управлению группами домена Active Directory. Мы рассмотрим, как создать новую группу в AD, добавить в нее пользователей (или удалить), вывести список пользователей группы и несколько других полезных действия с доменными группами, которые чрезвычайно полезны при повседневном администрировании. Для управления группами AD в модуле PowerShell для Active Directory имеются следующие основные командлеты:

Для использования данных командлетов в вашей сессии PowerShell должен быть загружен специальный модуль взаимодействия с AD — Active Directory Module for Windows PowerShell. Данный модуль впервые был представлен в Windows Server 208 R2. В Windows Server 2012 и выше этот модуль включен по умолчанию. На клиентских компьютерах его можно установить и включить в качестве одного из компонентов RSAT. Проверить, загружен ли модуль можно так:

Get-Module -Listavailable

Как вы видите, модуль ActiveDirectory загружен. Если нет – импортируйте его командой:

Import-Module activedirectory

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

Get-Command -Module ActiveDirectory

В модуле всего доступно 147 командлетов, из которых с группами могут работать 11.

Get-Command -Module ActiveDirectory -Name "*Group*"

Вот их список:

  • Add-ADGroupMember
  • Add-ADPrincipalGroupMembership
  • Get-ADAccountAuthorizationGroup
  • Get-ADGroup
  • Get-ADGroupMember
  • Get-ADPrincipalGroupMembership
  • New-ADGroup
  • Remove-ADGroup
  • Remove-ADGroupMember
  • Remove-ADPrincipalGroupMembership
  • Set-ADGroup

New-ADGroup – создаем новую группу AD

Создадим новую группу в указанном контейнере (OU) Active Directory с помощью команды New-ADGroup:

New-ADGroup "TestADGroup" -path 'OU=Groups,OU=Moscow,DC=corp,dc=winitpro,DC=ru' -GroupScope Global -PassThru –Verbose

С помощью атрибута Description можно задать описание группы, а с помощью DisplayName изменить отображаемое имя.

Параметром GroupScope можно задать один из следующих типов групп:

  • 0 = DomainLocal
  • 1 = Global
  • 2 = Universal

Создать группу распространения можно так:

New-ADGroup "TestADGroup-Distr" -path 'OU=Groups,OU=Moscow,DC=corp,dc=winitpro,DC=ru' -GroupCategory Distribution -GroupScope Global -PassThru –Verbose

Add-AdGroupMember – добавить пользователей в группу AD

Добавить пользователей в группу Active Directory можно с помощью командлета Add-AdGroupMember. Добавим в новую группу двух пользователей:

Add-AdGroupMember -Identity TestADGroup -Members user1, user2

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

Формат CSV файла такой (список пользователей по одному в строке, имя столбца – users)

Import-CSV .\users.csv -Header users | ForEach-Object {Add-AdGroupMember -Identity ‘TestADGroup’ -members $_.users}

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

Get-ADGroupMember “GroupA” | Get-ADUser | ForEach-Object {Add-ADGroupMember -Identity “Group-B” -Members $_}

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

Get-ADGroupMember -Identity “GroupA” -Recursive | Get-ADUser | ForEach-Object {Add-ADGroupMember -Identity “GroupB” -Members $_}

Remove-ADGroupMember – удалить пользователей из группы

Для удаления пользователей из группы AD нужно использовать командует Remove-ADGroupMember. Удалим из группы двух пользователей:

Remove-ADGroupMember -Identity TestADGroup -Members user1, user2

Подтвердите удаление пользователей из группы:

Если нужно удалить из группы пользователей по списку из CSV файла, воспользуйтесь такой командой:

Import-CSV .\users.csv -Header users | ForEach-Object {Remove-ADGroupMember -Identity ‘TestADGroup’ -members $_.users}

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

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

Get-ADGroup 'TestADGroup'

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

Get-ADGroup 'TestADGroup' -properties *

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

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

Get-ADGroup -LDAPFilter “(name=*admins*)” | Format-Table

Get-ADGroupMember – вывести список пользователей группы AD

Вывести на экран список пользователей группы:

Get-ADGroupMember 'TestADGroup'

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

Get-ADGroupMember 'TestADGroup'| ft name

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

Get-ADGroupMember ‘server-admins' -recursive| ft name

Чтобы выгрузить список учетных записей, состоящих в определённой группе в CSV файл (для дальнейшего использования в Excel), выполните такую команду:

Get-ADGroupMember ‘server-admins' -recursive| ft samaccountname| Out-File c:\ps\admins.csv

Чтобы добавить в текстовый файл данные учетных записей пользователей в AD, воспользуемся командлетом Get-ADUser. Например, помимо учетной записи нужно вывести должность и телефон пользователя группы:

Get-ADGroupMember -Identity ’server-admins’ -recursive| foreach { Get-ADUser $_ -properties title, OfficePhone|Select-Object title, OfficePhone }

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

(Get-ADGroupMember -Identity 'domain admins').Count

Оказалось, что в группе «domain admins» у нас состоит 7 учетных записей администраторов.

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

Get-ADGroup -Filter * -Properties Members -searchbase “OU=Moscow,DC=corp,dc=winitpro,DC=ru”  | where {-not $_.members} | select Name

Установка Active Directory с помощью Powershell

В некоторых случаях для управления серверами Windows намного удобней использовать Poweshell, например у Вас стоит только оболочка Windows Server Core и графический режим Вам недоступен. Использование Powershell в наше время является неотъемленной частью администрирования серверов и для системных администраторов его не знание будем большим минусом.

 

В данной статье мы рассмотрим установку AD на Windwows 2012 Core Server. Использовать для этого будем три основных командлета:

 

install-windowsfeature

import-module

install-addsforest

 

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

1. Получение имени сервиса для установки AD

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

Первое, запускаем команду “get-windowsfeature”  из интерфейса Windows Poweshell

 

Выполнив данную команду, мы видим список ролей и параметров, которые мы можем установить. В данном случае нас интересует только один параметр — имя сервиса —  “AD-domain-services”.

 

 

2. Установка доменных служб Active Directory

Для установки AD из командной строки используем команду “install-windowsfeature”, как показано ниже.

C:\> Install-windowsfeature AD-domain-services

Данная команда извлечет все необходимые файлы и начнет инсталяцию AD. После окончания установки будут показаны результаты в виде таблицы, как показано ниже.

3. Импорт модуля ADDSDeployment

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

Для продолжения нашей установки AD нам необходим модуль  ADDSDeployment.

C:\> Import-Module ADDSDeployment
4. Команды для назначения сервера контроллером домена

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

 

Add-ADDSReadOnlyDomainControllerAccount — Установка контроллера только для чтения

 

Install-ADDSDomain — Установить первый контроллер домена в дочернем или дереве домена

 

Install-ADDSDomainController — Установить дополнительный контроллер домена

 

Install-ADDSForest — Установить первый контроллер в новом лесу

 

Test-ADDSDomainControllerInstallation Verify — необходимые условия для установки дополнительного контроллера домена (проверка)

 

Test-ADDSDomainControllerUninstallation — удаление сервиса AD c сервера (проверка)

 

Test-ADDSDomainInstallation — Проверка необходимых условий для установки первого контроллера домена в дочернем или дереве домена.

 

Test-ADDSForestInstallation Установка первого контроллера в новом лесу (проверка)

 

Test-ADDSReadOnlyDomainControllerAccountCreation — Проверка необходимых условий для установки контроллера только для чтения

 

Uninstall-ADDSDomainController — Удаление контроллера домена с сервера

5. Установка первого контроллера в лесу

В данном примере, мы установим первый контроллер домена в лесу

Для установки с параметрами по умолчанию, выполняме команду “Install-AddsForest”

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

C:\> Install-ADDSForest
 -CreateDnsDelegation:$false `
 -DatabasePath "C:\Windows\NTDS" `
 -DomainMode "Win2012R2" `
 -DomainName "greendail.ru `
 -DomainNetbiosName "GREENDAIL" `
 -ForestMode "Win2012R2" `
 -InstallDns:$true `
 -LogPath "C:\Windows\NTDS" `
 -NoRebootOnCompletion:$false `
 -SysvolPath "C:\Windows\SYSVOL" `
 -Force:$true
6. Окончание установки.

В окончании установки нам необходимо ввести администраторский пароль для режима восстановления (Directory Services Restore Mode — DSRM) — SafeModeAdministratorPassword

 

Установка пароля заканчивает инсталяцию и первоначальную конфигурацию AD через командную строку.

 

Как установить и импортировать модуль Active Directory PowerShell? — TheITBros

Сегодня мы покажем вам, как установить и использовать модуль Windows PowerShell Active Directory. Вы можете использовать командлеты этого модуля для получения различной информации о пользователях домена, компьютерах и группах, других объектах и ​​для выполнения некоторых задач управления Active Directory. Этот модуль PowerShell в серверной ОС устанавливается как отдельная функция. В настольных версиях ОС (Windows 10, 8.1, 7) модуль входит в состав средств удаленного администрирования сервера (RSAT).RSAT включает в себя все необходимые инструменты управления, утилиты командной строки и модули Windows PowerShell для серверов Windows и средства управления AD. Вы должны загрузить пакет RSAT для своей версии ОС с веб-сайта Microsoft (как установить RSAT в Windows 10?).

Установка модуля PowerShell Active Directory на Windows Server

Модуль Active Directory для Windows PowerShell впервые появился в Windows Server 2008 R2. Он автоматически устанавливается на Windows Server после того, как вы установили роль ADDS (доменные службы Active Directory) и повысили уровень сервера до контроллера домена.Чтобы использовать командлеты PowerShell из модуля Active Directory, в вашем домене должен существовать хотя бы один контроллер с Windows Server 2008 R2 или выше. Если в вашей сети есть только контроллеры домена с Windows Server 2003 или 2008, вам необходимо загрузить и установить службу шлюза управления Active Directory. Командлеты PowerShell из модуля Active Directory взаимодействуют с веб-службой, которая является частью контроллера домена с ролью ADDS или ADMGS.

Установка модуля AD PowerShell в Windows 10

В операционных системах Windows для настольных ПК, таких как Windows 10, Windows 8.1 и Windows 7, чтобы установить модуль RSAT-AD-PowerShell, необходимо сначала установить соответствующую версию RSAT. Вы можете установить RSAT только в выпусках Windows Professional, Education и Enterprise, но не в Windows Home или Single Language.

Импорт модуля PowerShell Active Directory в Windows

  1. В Windows 7 и Windows Server 2008 R2 с установленным PowerShell 2.0, чтобы начать использовать модуль Active Directory, вам необходимо импортировать его в сеанс PowerShell с помощью команды:
     import-module activedirectory 
  2. Кроме того, вы можете экспортировать модуль с удаленного компьютера / сервера и импортировать его в сеанс PowerShell:
     $ S = New-PSSession -ComputerName MyDomainController
    
    Экспорт-PSsession -Session $ S -Module ActiveDirectory -OutputModule RemoteAD
    
    Удалить-PSSession -Session $ S
    
    Import-Module RemoteAD 
  3. В Windows Server 2016/2016/2012 R2 и Windows 8.1 / Windows 10 модуль импортируется в сеанс автоматически.
  4. Чтобы убедиться, что модуль AD PoSh загружен, выполните команду:
     Get-Module ActiveDirectory 

Если компьютер присоединен к домену AD, по умолчанию создается отдельный диск с именем AD: . Вы можете перейти на этот диск с помощью команды CD и использовать знакомые команды работы с файловой системой для навигации по этому диску. Пути в формате X500.

PS C: \> cd AD:

PS AD: \>

PS AD: \> dir

PS AD: \> cd «DC = contoso, DC = com»

PS AD: \> dir

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

 Get-Command -Module ActiveDirectory 

Различные версии Windows (RSAT) имеют разное количество доступных командлетов:

  • Windows Server 2008 R2 — 76 командлетов
  • Windows Server 2012 — 135 командлетов
  • Windows Server 2012 R2 / 2016 — 147 командлетов

Использование RSAT-AD -PowerShell Module

Давайте рассмотрим несколько примеров использования командлетов модуля RSAT-AD-PowerShell.

  • Чтобы получить список контроллеров домена AD, выполните команду:
     Get-ADDomainController –filter * | format-table 
  • Вы можете создать несколько пользователей AD одновременно, импортировав список пользователей из CSV-файла и используя его вместе с командлетом New-ADUser.
  • Для создания группы AD используется командлет New-ADGroup. Например, чтобы создать новую группу с именем ItalyUsers в конкретном OU, выполните команду:
     New-ADGroup -Path "OU = Groups, OU = Italy, DC = theitbros, DC = com" -Name "ItalyUsers" -GroupScope Global -GroupCategory Distribution 
  • Чтобы получить информацию о группе AD, используйте командлет Get-ADGroup:
     Get-ADGroup ItalyUsers 
  • Для создания организационной единицы Active Directory используется командлет New-ADOrganizationalUnit:
     New-ADOrganizationalUnit -Name " Франция »
  • Для разблокировки учетной записи пользователя в домене Active Directory используется Unlock-ADAccount:
     Get-ADUser -Identity bjackson | Unlock-ADAccount 
  • Или вы можете использовать Set-ADAccountPassword для изменения или сброса пароля пользователя:
     $ newPass = Read-Host "Введите новый пароль пользователя" -AsSecureString
    
    Set-ADAccountPassword bjackson -NewPassword $ newPass 

Если ваш компьютер не является частью домена Active Directory, после попытки импорта модуля AD-PoSh появляется следующее предупреждение:

ПРЕДУПРЕЖДЕНИЕ: Ошибка инициализации диска по умолчанию: «Невозможно чтобы найти сервер по умолчанию с запущенными веб-службами Active Directory.’.

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

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

 $ cred = Get-Credential 

Например, чтобы получить информацию о пользователе с DC с именем TOR-DC01 под сохраненными учетными данными, используйте команду:

 get-aduser postfixsrv –server tor-dc01 -Credential $ cred 

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

Итак, теперь вы можете использовать командлеты PowerShell для управления и запросов в Active Directory.

Мне нравятся технологии и разработка веб-сайтов. С 2012 года я веду несколько собственных веб-сайтов и делюсь полезным контентом по гаджетам, администрированию ПК и продвижению сайтов.

Последние сообщения Кирилла Кардашевского (посмотреть все).

Расширенная репликация Active Directory и управление топологией с помощью Windows PowerShell (уровень 200)

  • 7 минут на чтение

В этой статье

Применимо к: Windows Server 2016, Windows Server 2012 R2, Windows Server 2012

В этом разделе более подробно объясняются новые командлеты репликации AD DS и управления топологией, а также приводятся дополнительные примеры.Введение см. В разделе Введение в репликацию Active Directory и управление топологией с помощью Windows PowerShell (уровень 100).

  1. Введение

  2. Репликация и метаданные

  3. Get-ADReplicationAttributeMetadata

  4. Get-ADReplicationPartnerMetadata

  5. Get-ADReplicationFailure

  6. Get-ADReplicationQueueOperation и Get-ADReplicationUpToDatenessVectorTable

  7. Sync-ADObject

  8. Топология

Введение

Windows Server 2012 расширяет модуль Active Directory для Windows PowerShell с помощью двадцати пяти новых командлетов для управления репликацией и топологией леса.До этого вам приходилось использовать общие существительные * -AdObject или вызывать функции .NET.

Как и все командлеты Windows PowerShell Active Directory, эта новая функция требует установки службы шлюза управления Active Directory хотя бы на одном контроллере домена (а желательно на всех контроллерах домена).

В следующей таблице перечислены новые командлеты репликации и топологии, добавленные в модуль Active Directory Windows PowerShell.

Командлет Пояснение
Get-ADReplicationAttributeMetadata Возвращает метаданные репликации атрибутов для объекта
Get-ADReplicationConnection Возвращает сведения об объекте подключения контроллера домена
Get-ADReplicationFailure Возвращает последний сбой репликации для контроллера домена
Get-ADReplicationPartnerMetadata Возвращает конфигурацию репликации контроллера домена
Get-ADReplicationQueueOperation Возвращает текущее отставание очереди репликации
Get-ADReplicationSite Возвращает информацию о сайте
Get-ADReplicationSiteLink Возвращает информацию о ссылке на сайт
Get-ADReplicationSiteLinkBridge Возвращает информацию о мосте ссылок на сайты
Get-ADReplicationSubnet Возвращает информацию о подсети AD
Get-ADReplicationUpToDatenessVectorTable Возвращает вектор UTD для контроллера домена
Get-ADTrust Возвращает информацию о междоменном или межлесном доверии
New-ADReplicationSite Создает новый сайт
Новый ADReplicationSiteLink Создает новую ссылку на сайт
New-ADReplicationSiteLinkBridge Создает новый мост связей сайтов
New-ADReplicationSubnet Создает новую подсеть AD
Remove-ADReplicationSite Удаляет сайт
Remove-ADReplicationSiteLink Удаляет ссылку на сайт
Remove-ADReplicationSiteLinkBridge Удаляет мост связи сайтов
Remove-ADReplicationSubnet Удаляет подсеть AD
Set-ADReplicationConnection Изменяет соединение
Set-AD Сайт репликации Изменяет сайт
Set-ADReplicationSiteLink Изменяет ссылку на сайт
Set-ADReplicationSiteLinkBridge Изменяет мост связей сайтов
Set-ADReplicationSubnet Изменяет подсеть AD
Sync-ADObject Принудительная репликация одного объекта

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

Чтобы получить полный список всех командлетов Windows PowerShell Active Directory, выполните:

  Get-command -module ActiveDirectory
  

Полный список всех аргументов командлета Windows PowerShell Active Directory см. В справке. Например:

  Get-help New-ADReplicationSite

  

Используйте командлет Update-Help для загрузки и установки файлов справки

Репликация и метаданные

Repadmin.exe проверяет работоспособность и согласованность репликации Active Directory. Repadmin.exe предлагает простые варианты манипулирования данными — например, некоторые аргументы поддерживают вывод CSV, — но для автоматизации обычно требуется синтаксический анализ посредством вывода текстового файла. Модуль Active Directory для Windows PowerShell — это первая попытка предложить вариант, позволяющий реальный контроль над возвращаемыми данными; до этого вам приходилось создавать сценарии или использовать сторонние инструменты.

Кроме того, следующие командлеты реализуют новый набор параметров Target , Scope и EnumerationServer :

Аргумент Target принимает список строк, разделенных запятыми, которые идентифицируют целевые серверы, сайты, домены или леса, указанные в аргументе Scope .Звездочка (*) также допустима и означает все серверы в указанной области. Если область не указана, подразумеваются все серверы в лесу текущего пользователя. Аргумент Scope указывает широту поиска. Допустимые значения: Server , Site , Domain и Forest . EnumerationServer указывает сервер, который перечисляет список контроллеров домена, указанных в Target и Scope .Он работает так же, как аргумент Server и требует, чтобы на указанном сервере была запущена веб-служба Active Directory.

Чтобы представить новые командлеты, вот несколько примеров сценариев, демонстрирующих невозможные возможности repadmin.exe; вооруженные этими иллюстрациями, становятся очевидными административные возможности. Просмотрите справку по командлету, чтобы узнать о конкретных требованиях к использованию.

Get-ADReplicationAttributeMetadata

Этот командлет похож на команду repadmin.exe / showobjmeta .Он позволяет возвращать метаданные репликации, например, когда атрибут изменен, исходный контроллер домена, информацию о версии и USN, а также данные атрибутов. Этот командлет полезен для аудита того, где и когда произошло изменение.

В отличие от Repadmin, Windows PowerShell предоставляет гибкие возможности управления поиском и выводом. Например, вы можете вывести метаданные объекта «Администраторы домена» в виде читаемого списка:

  Get-ADReplicationAttributeMetadata -object "cn = администраторы домена, cn = пользователи, dc = corp, dc = contoso, dc = com" -server dc1.corp.contoso.com -showalllinkedvalues ​​| список форматов

  

В качестве альтернативы вы можете расположить данные в виде таблицы repadmin:

  Get-ADReplicationAttributeMetadata -object "cn = администраторы домена, cn = пользователи, dc = corp, dc = contoso, dc = com" -server dc1.corp.contoso.com -showalllinkedvalues ​​| формат-таблица-обертка

  

В качестве альтернативы вы можете получить метаданные для всего класса объектов, выполнив конвейерную обработку командлета Get-Adobject с фильтром, например для всех групп, а затем объединить это с определенной датой.Конвейер — это канал, используемый между несколькими командлетами для передачи данных. Чтобы увидеть все группы, каким-либо образом измененные 13 января 2012 г.:

  get-adobject -filter 'objectclass -eq "group"' | Get-ADReplicationAttributeMetadata -server dc1.corp.contoso.com | where-object {$ _. lastoriginatingchangetime -like "* 13.01.2012 *" -and $ _. attributename -eq "name"} | объект таблицы форматирования
  

Дополнительные сведения о дополнительных операциях Windows PowerShell с конвейерами см. В разделе «Конвейер и конвейер в Windows PowerShell».

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

  get-adobject -filter 'objectclass -eq "group"' | Get-ADReplicationAttributeMetadata -server dc1.corp.contoso.com -showalllinkedvalues ​​| где-объект {$ _. attributevalue -like "* tony wang *"} | объект таблицы форматирования, LastOriginatingChangeTime, версия -auto

  

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

  get-adobject -filter 'objectclass -like "*"' | Get-ADReplicationAttributeMetadata -сервер dc1.corp.contoso.com | where-object {$ _. version -gt "100000" -and $ _. attributename -eq "name"} | объект форматной таблицы, LastOriginatingChangeTime
  

В качестве альтернативы отправьте все метаданные пользователя в файл CSV для последующего изучения в Microsoft Excel:

  get-adobject -filter 'объектный класс -eq "пользователь"' | Get-ADReplicationAttributeMetadata -server dc1.corp.contoso.com -showalllinkedvalues ​​| экспорт-csv allgroupmetadata.csv
  

Get-ADReplicationPartnerMetadata

Этот командлет возвращает информацию о конфигурации и состоянии репликации для контроллера домена, что позволяет отслеживать, проводить инвентаризацию или устранять неполадки.В отличие от Repadmin.exe, использование Windows PowerShell означает, что вы видите только важные для вас данные в нужном вам формате.

Например, читаемое состояние репликации одного контроллера домена:

  Get-ADReplicationPartnerMetadata -target dc1.corp.contoso.com
  

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

  Get-ADReplicationPartnerMetadata -target dc1.corp.contoso.com | формат-таблица lastreplicationattempt, lastreplicationresult, partner -auto
  

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

  Get-ADReplicationPartnerMetadata -target * -scope server | где {$ _. lastreplicationresult -ne "0"} | ft server, lastreplicationattempt, lastreplicationresult, partner -auto

  

Get-ADReplicationFailure

Этот командлет можно использовать для возврата информации о недавних ошибках репликации.Это аналог Repadmin.exe / showreplsum , но опять же, с гораздо большим контролем благодаря Windows PowerShell.

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

  Get-ADReplicationFailure dc1.corp.contoso.com
  

В качестве альтернативы можно вернуть табличное представление для всех серверов в определенном логическом сайте AD, упорядоченное для облегчения просмотра и содержащее только самые важные данные:

  Get-ADReplicationFailure -scope site -target default-first-site-name | сервер форматной таблицы, firstfailuretime, failurecount, lasterror, partner -auto

  

Get-ADReplicationQueueOperation и Get-ADReplicationUpToDatenessVectorTable

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

Sync-ADObject

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

Например, если кто-то удалил учетную запись генерального директора, а затем восстановил ее с помощью корзины Active Directory, вы, вероятно, захотите немедленно реплицировать ее на все контроллеры домена. Вы также, вероятно, захотите сделать это без принудительной репликации всех других сделанных изменений объекта; в конце концов, именно поэтому у вас есть расписание репликации — чтобы избежать перегрузки каналов WAN.

  Get-ADDomainController -filter * | foreach {Sync-ADObject -object "cn = tony wang, cn = users, dc = corp, dc = contoso, dc = com" -source dc1 -destination $ _. hostname}

  

Топология

Хотя Repadmin.exe хорошо возвращает информацию о топологии репликации, такой как сайты, ссылки сайтов, мосты связей сайтов и соединения, он не имеет исчерпывающего набора аргументов для внесения изменений. Фактически, никогда не существовало встроенной служебной программы Windows с поддержкой сценариев, разработанной специально для администраторов для создания и изменения топологии AD DS.По мере развития Active Directory в миллионах клиентских сред становится очевидной необходимость массового изменения логической информации Active Directory.

Например, после быстрого расширения новых филиалов в сочетании с объединением других вам может потребоваться внести сотни изменений сайта в зависимости от физического местоположения, изменений в сети и новых требований к емкости. Вместо того, чтобы использовать Dssites.msc и Adsiedit.msc для внесения изменений, вы можете автоматизировать. Это особенно интересно, когда вы начинаете с электронной таблицы данных, предоставленной вашей сетью и группами обслуживания.

Командлеты Get-Adreplication \ * возвращают информацию о топологии репликации и полезны для конвейерной передачи в командлеты Set-Adreplication \ * в массовом порядке. Командлеты Get не изменяют данные, они только отображают данные или создают объекты сеанса Windows PowerShell, которые могут быть переданы по конвейеру в командлеты Set-Adreplication \ *. Командлеты New и Remove полезны для создания или удаления объектов топологии Active Directory.

Например, вы можете создавать новые сайты с помощью файла CSV:

  import-csv -path C: \ newsites.csv | новый сайт репликации
  

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

  new-adreplicationsitelink -name "chicago <--> waukegan" -sitesincluded chicago, waukegan -cost 50 -replicationfreplicationinminutes 15
  

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

  get-adreplicationsitelink -filter * | set-adobject -replace @ {options = $ ($ _.параметры -бор 1)}
  

Важно

Установите -bor 5 , чтобы отключить сжатие и для этих ссылок сайтов.

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

  get-adreplicationsite -filter * -property подсети | где-объект {! $ _. подсети -eq "*"} | имя таблицы форматирования
  

См. Также

Введение в репликацию Active Directory и управление топологией с помощью Windows PowerShell (уровень 100)

.

Введение в репликацию Active Directory и управление топологией с помощью Windows PowerShell (уровень 100)

  • 6 минут на чтение

В этой статье

Применимо к: Windows Server 2016, Windows Server 2012 R2, Windows Server 2012

Windows PowerShell для Active Directory включает возможность управления репликацией, сайтами, доменами и лесами, контроллерами домена и разделами.Пользователи предыдущих инструментов управления, таких как оснастка «Сайты и службы Active Directory» и repadmin.exe, заметят, что аналогичные функции теперь доступны в контексте Windows PowerShell для Active Directory. Кроме того, командлеты совместимы с существующими командлетами Windows PowerShell для Active Directory, что упрощает работу и позволяет клиентам легко создавать сценарии автоматизации.

Примечание

Командлеты Windows PowerShell для репликации и топологии Active Directory доступны в следующих средах:

  • Контроллер домена Windows Server 2012
  • Windows Server 2012 с установленными средствами удаленного администрирования сервера для AD DS и AD LDS.
  • Windows® 8 с установленными средствами удаленного администрирования сервера для AD DS и AD LDS.

Установка модуля Active Directory для Windows PowerShell

Модуль Active Directory для Windows PowerShell устанавливается по умолчанию, когда роль сервера AD DS установлена ​​на сервере под управлением Windows Server 2012. Никаких дополнительных действий не требуется, кроме добавления роли сервера. Вы также можете установить модуль Active Directory на сервере под управлением Windows Server 2012, установив средства удаленного администрирования сервера, и вы можете установить модуль Active Directory на компьютер под управлением Windows 8, загрузив и установив средства удаленного администрирования сервера (RSAT). .См. Инструкции по установке.

Сценарии тестирования Windows PowerShell для репликации Active Directory и командлетов управления топологией

Следующие сценарии предназначены для администраторов для ознакомления с новыми командлетами управления:

  • Получить список всех контроллеров домена и соответствующих им сайтов

  • Управление топологией репликации

  • Просмотр статуса репликации и информации

Требования к лаборатории

  • Два контроллера домена Windows Server 2012: DC1 и DC2 , которые являются частью contoso.com и находиться на КОРПОРАТИВНОМ сайте в этом домене.

Просмотр контроллеров домена и их сайтов

На этом этапе вы будете использовать модуль Active Directory для Windows PowerShell, чтобы просмотреть существующие контроллеры домена и топологию репликации для домена.

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

Для просмотра всех сайтов Active Directory
  1. На DC1 щелкните Windows PowerShell на панели задач.

  2. Введите следующую команду:

    Get-ADReplicationSite -Filter *

    Возвращает подробную информацию о каждом сайте. Параметр Filter используется во всех командлетах Active Directory PowerShell для ограничения списка возвращаемых объектов. В этом случае звездочкой (*) отмечены все объекты сайта.

    Подсказка

    Вы можете использовать клавишу Tab для автозаполнения команд в Windows PowerShell.

    Пример: введите Get-ADRep и несколько раз нажмите Tab, чтобы пропустить соответствующие команды, пока не дойдете до Get-ADReplicationSite .Автозаполнение также работает для имен параметров, таких как Filter .

    Чтобы отформатировать вывод команды Get-ADReplicationSite в виде таблицы и ограничить отображение определенными полями, вы можете направить вывод в команду Format-Table (или для краткости « ft «):

    Get-ADReplicationSite -Filter * | ft Имя

    Возвращает более короткую версию списка сайтов, включая только поле «Имя».

Для создания таблицы всех контроллеров домена
  • Введите следующую команду в модуле Active Directory для Windows PowerShell :

    Get-ADDomainController -Filter * | ft Имя хоста, Сайт

    Эта команда возвращает имя хоста контроллеров домена, а также их связи с сайтами.

Управление топологией репликации

На предыдущем шаге после выполнения команды Get-ADDomainController -Filter * | ft Hostname, Site , DC2 был указан как часть сайта CORPORATE . В приведенных ниже процедурах вы создадите новый сайт филиала, BRANCh2 , создадите новую ссылку сайта, установите стоимость ссылки сайта и частоту репликации, а затем переместите DC2 в BRANCh2 .

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

Для создания нового сайта
  • Введите следующую команду в модуле Active Directory для Windows PowerShell :

    Новый сайт репликации БРАНЧ2

    Эта команда создает новый сайт филиала, branch2.

Для создания новой ссылки на сайт
  • Введите следующую команду в модуле Active Directory для Windows PowerShell :

    New-ADReplicationSiteLink 'CORPORATE-BRANCh2' -SitesIncluded CORPORATE, BRANCh2 -OtherAttributes @ {'options' = 1}

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

    Подсказка

    Используйте Tab для автозаполнения имен параметров, таких как -SitesIncluded и -OtherAttributes , вместо того, чтобы вводить их вручную.

Для установки стоимости ссылки сайта и частоты репликации
  • Введите следующую команду в модуле Active Directory для Windows PowerShell :

    Set-ADReplicationSiteLink CORPORATE-BRANCh2 -Cost 100 -ReplicationFrequencyInMinutes 15

    Эта команда устанавливает стоимость ссылки сайта на BRANCh2 на 100 и устанавливает частоту репликации с сайтом на 15 минут .

Чтобы переместить контроллер домена на другой сайт
  • Введите следующую команду в модуле Active Directory для Windows PowerShell :

    Get-ADDomainController DC2 | Move-ADDirectoryServer -Site BRANCh2

    Эта команда перемещает контроллер домена DC2 на сайт BRANCh2 .

Проверка

Для проверки создания сайта, новой ссылки на сайт, а также стоимости и частоты репликации
  • Щелкните Server Manager , щелкните Tools , а затем щелкните Active Directory Sites and Services и проверьте следующее:

    Убедитесь, что сайт BRANCh2 содержит все правильные значения из команд Windows PowerShell.

    Убедитесь, что ссылка на сайт CORPORATE-BRANCh2 создана и соединяет сайты BRANCh2 и CORPORATE .

    Убедитесь, что DC2 теперь находится на сайте BRANCh2 . Кроме того, вы можете открыть модуль Active Directory для Windows PowerShell и ввести следующую команду, чтобы убедиться, что DC2 теперь находится на сайте BRANCh2 : Get-ADDomainController -Filter * | ft Имя хоста, Сайт .

Просмотр информации о состоянии репликации

В следующих процедурах вы будете использовать один из командлетов Windows PowerShell для репликации и управления Active Directory, Get-ADReplicationUpToDatenessVectorTable DC1 , для создания простого отчета о репликации с использованием таблицы векторов актуальности, поддерживаемой каждым контроллером домена.Эта таблица векторов актуальности отслеживает наивысший исходящий USN записи, наблюдаемый от каждого контроллера домена в лесу.

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

Для просмотра таблицы векторов актуальности для одного контроллера домена
  1. Введите следующую команду в модуле Active Directory для Windows PowerShell :

    Get-ADReplicationUpToDatenessVectorTable DC1

    Здесь показан список самых высоких номеров USN, обнаруженных DC1 для каждого контроллера домена в лесу.Значение Server относится к серверу, обслуживающему таблицу, в данном случае DC1 . Партнер Значение относится к партнеру репликации (прямому или косвенному), на котором были внесены изменения. Значение UsnFilter — это самый высокий номер USN, который видел DC1 от Partner. Если в лес добавляется новый контроллер домена, он не появится в таблице DC1 до тех пор, пока DC1 не получит изменение, исходящее из нового домена.

Для просмотра таблицы векторов актуальности для всех контроллеров домена в домене
  1. Введите следующую команду в модуле Active Directory для Windows PowerShell:

    Get-ADReplicationUpToDatenessVectorTable * | Сортировать Партнер, Сервер | ft Партнер, Сервер, UsnFilter

    Эта команда заменяет DC1 на * , собирая, таким образом, актуальные данные таблицы векторов со всех контроллеров домена.Данные сортируются по Partner и Server и затем отображаются в таблице.

    Сортировка позволяет легко сравнивать последний USN, который видел каждый контроллер домена для данного партнера репликации. Это быстрый способ проверить, происходит ли репликация в вашей среде. Если репликация работает правильно, значения UsnFilter, сообщаемые для данного партнера по репликации, должны быть примерно одинаковыми для всех контроллеров домена.

См. Также

Расширенная репликация Active Directory и управление топологией с помощью Windows PowerShell (уровень 200)

.

AD-Powershell для администраторов Active Directory — статьи TechNet — США (английский)

Список всех учетных записей компьютеров в домене

Get-ADComputer –Filter {Name –Like «*»}

Просмотреть все компьютеры, которые в течение 90 дней были подключены к Active Directory

Search-ADaccount -AccountInactive -Timespan 90 -ComputersOnly

ИЛИ

$ lastLogon = (дата получения) .adddays (-90) .ToFileTime ()

Get-ADComputer -filter {lastLogonTimestamp -gt $ lastLogon}

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

Search-ADAccount -AccountDisabled -ComputersOnly | Сортировка-объект | Удалить-ADComputer

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

Search-ADAccount -AccountDisabled -Searchbase «OU = IT, DC = Contoso, DC = Com» -ComputersOnly | Сортировка-объект | Remove-ADComputer

Найдите и удалите все учетные записи компьютеров, которые больше не регистрировались с 20.11.2011 в Active Directory

Search-ADAccount -AccountInactive -DateTime «20.11.2011 »–ComputersOnly | Сортировка-объект | Remove-ADComputer

Список только отключено Учетные записи компьютеров в домене

Search-ADAccount -AccountDisabled -ComputersOnly | Имя форматной таблицы

Переместить компьютер в другое подразделение (пример: компьютер = КЛИЕНТ1 в подразделение = ИТ)

Get-ADComputer CLIENT1 | Move-ADObject -TargetPath «OU = IT, DC = Contoso, DC = Com»

См. Сведения об учетной записи компьютера (пример: Компьютер = КЛИЕНТ1)

Get-ADComputer -Filter {Name -Like «CLIENT1»}

Получите конкретный компьютер со всеми свойствами (пример: Компьютер = КЛИЕНТ1)

Get-ADComputer «КЛИЕНТ1» -Свойства *

Список компьютеров (имя, операционная система, пакет обновления, версия операционной системы)

Get-ADComputer -Filter * -Property * | Имя форматной таблицы, операционная система, пакет операционных систем, пакет служб, версия операционной системы -Wrap –Auto

Экспорт списка компьютеров (имя, операционная система, пакет обновления, версия операционной системы) в файл CSV

Get-ADComputer -Filter * -Property * | Select-Object Name, OperatingSystem, OperatingSystemServicePack, OperatingSystemVersion | Экспорт в CSV AllWindows.csv -NoTypeInformation -Encoding UTF8

Получить IPv4-адрес компьютера и DnsHostName

Get-ADComputer -Filter {Name-Like «Computer-Name»} -Properties IPv4Address | Имя списка форматов, DnsHostName, IPv4Address

Получить все компьютеры в конкретном OU (пример: OU = IT, Domain = Contoso.com)

Get-ADComputer -SearchBase «OU = IT, DC = Contoso, DC = Com» -filter *

Получить все компьютеры без определенного DNS-суффикса

Get-ADComputer -filter «DnsHostName -notlike ‘*.Contoso.Com ‘»

Получить имена участников компьютерных служб (SPN)

Get-ADComputer «Имя компьютера» –Свойства ServicePrincipalNames | Select-Object –Развернуть ServicePrincipalNames

Получить идентификаторы безопасности компьютеров (SID)

Get-ADComputer -Filter {Name -like «*»} | Выберите имя, SID | Формат-Таблица-Авто

Все учетные записи компьютеров, созданные за последние 90 дней в Active Directory

Get-ADComputer -Filter * -Properties whenCreated | ? {((Get-Date) — $ _.whenCreated) .Days -lt 90} | Формат-имя таблицы, WhenCreated, Name, DistinguishedName -Autosize -Wrap

Все учетные записи компьютеров, созданные по состоянию на 1 декабря 2011 г. (12.01.2011) в Active Directory

Get-ADComputer -LDAPFilter «(& (objectCategory = person) (whenCreated> = 20111201 000000.0Z))» -Properties whenCreated | Имя форматной таблицы, при создании, различающееся имя -Autosize -Wrap

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

$ Начало = Get-Date -Day 01 -Month 10-Year 2011 -Hour 00

$ Конец = Get-Date -Day 01 -Month 12-Year 2011 -Hour 23 -Minute 59

Get-ADComputer -Filter * -Properties whenCreated | ? {($ _.whenCreated -gt $ Start) -and ($ _. whenCreated -le $ End)} | Имя форматной таблицы, WhenCreated, DistinguishedName -Autosize -Wrap

Все учетные записи компьютеров, последний пароль установлен в определенное время с 01.10.2011 по 12.01.2011 в Active Directory

$ Start = Get-Date -Day 01 -Month 10-Year 2011 -Hour 00

$ Конец = Get-Date -Day 01 -Month 12-Year 2011 -Hour 23 -Minute 59

Get-ADComputer -Filter * -Properties PasswordLastSet | ? {($ _.PasswordLastSet -gt $ Start) -and ($ _. PasswordLastSet -le $ End)} | Имя форматной таблицы, WhenCreated, DistinguishedName -Autosize -Wrap

Все учетные записи компьютеров, последний пароль, установленный за последние 90 дней в Active Directory

$ Дата = (Get-Date) .AddDays (-90)

Get-ADComputer -Filter * -Properties PasswordLastSet | где {$ _. PasswordLastSet -le $ Date} | Имя форматной таблицы, PasswordLastSet, DistinguishedName -Autosize -Wrap

Список всех членов группы (пример: Группа = Эксперты)

Эксперты Get-ADGroupMember | Имя форматной таблицы

Все свойства группы (пример: Group = IT)

Get-ADGroup IT-недвижимость *

Только список универсальных групп безопасности

Get-ADGroup –LDAPFilter «(& (objectCategory = group) (groupType: 1.2.840.113556.1.4.803: = — 2147483640)) «

Список только групп глобальной безопасности

Get-ADGroup –LDAPFilter «(& (objectCategory = group) (groupType: 1.2.840.113556.1.4.803: = — 2147483646))»

Список только групп локальной безопасности домена

Get-ADGroup –LDAPFilter «(& (objectCategory = group) (groupType: 1.2.840.113556.1.4.803: = — 2147483644))»

Список всех членств в группах для пользователя (пример: User = EdPrice)

Get-ADAccountAuthorizationGroup EdPrice

Перемещение группы в другое подразделение (пример: группа = эксперты, старое подразделение = ИТ, новое подразделение = служба, домен = Contoso.com)

Move-ADObject «CN = Experts, OU = IT, DC = Contoso, DC = com» -TargetPath «OU = Service, DC = Contoso, DC = com»

Добавить участников в группу (пример: Group = Experts, User = EdPrice)

Add-ADGroupmember Experts -Member EdPrice

Удалить группу (пример: Группа = Эксперты)

Remove-ADGroup Experts

Удаление пользователя из группы (пример: Group = Experts, User = EdPrice)

Remove-ADGroupMember Experts -Member EdPrice

Установить описание для группы (пример: Group = JoinPC, Description = Этой группе разрешено присоединять ПК к домену)

Set-ADGroup JoinPC -Description «Этой группе разрешено присоединять ПК к домену»

Добавить пользователей из одной группы в другую группу (пример: из Group1 = DataUsers в Group2 = SQLUsers)

Get-ADGroupMember DataUsers | Выберите sAMAccountName | ForEach {Add-ADGroupMember SQLUsers -Members $ _.sAMAccountName}

Сравнение двух групп для просмотра членства в группах (пример: Group1 = Administrators o, Group2 = DNSAdmins )

Compare-Object (Get-ADGroupMember Administrators) (Get-ADGroupMember DNSAdmins) -IncludeEqual

Все подразделения в домене

Get-ADOrganizationalUnit -Filter {Name -like „*“} | Имя FT, DistinguishedName -A

Создайте OU (пример: OU = IT, Domain = Contoso.ком)

New-ADOrganizationalUnit -Name IT -Path «DC = Contoso, DC = Com»

Содержимое определенного подразделения (пример: OU = IT, Domain = Contoso.com)

Get-ADObject -Filter {Name -Like «*»} -Searchbase «OU = IT, DC = Contoso, DC = Com»

Переименовать подразделение (пример: Old-Name = IT, New-Name = Admin, Domain = Contoso.com)

Rename-ADObject «OU = IT, DC = Contoso, DC = Com» -NewName Admin

Удалить OU, включая содержимое (пример: OU = IT, Domain = Contoso.ком)

Remove-ADOrganizationalUnit IT -Recursive

Удалить пользователя из определенного подразделения (пример: User = EdPrice, OU = IT, Domain = Contoso.com)

Remove-ADObject «CN = EdPrice, OU = IT, DC = Contoso, DC = Com»

Перемещение всех объектов из одного подразделения в другое (пример: Old-OU = IT, New-OU = Manager, Domain = Contoso.com)

Get-ADObject -Filter {Name -Like «*»} -Searchbase «OU = IT, DC = Contoso, DC = Com» -SearchScope OneLevel | Move-ADObject -TargetPath «OU = Manager, DC = Contoso, DC = Com»

Список всех учетных записей пользователей в домене

Get-ADUser –Фильтр *

Список всех учетных записей пользователей в определенном OU (пример: OU = IT, Domain = Contoso.com)

Get-ADUser –Filter * -Searchbase «OU = IT, DC = Contoso, DC = Com» | FT

Список всех учетных записей пользователей из определенного города (пример: Город = Нью-Йорк)

Получить ADUser -Filter {city — like «NewYork»} | FT

Список отключены только учетные записи пользователей в домене

Search-ADAccount –AccountDisabled –Usersonly | Имя FT

Список всех учетных записей пользователей с именем Ed

Get-ADUser –Filter {givenName –Like «Ed»} | FT

Список всех учетных записей пользователей с фамилией Цена

Get-ADUser –Filter {Surname – Like «Price»} | FT

Список всех учетных записей пользователей из определенного отдела (пример: Отдел = Поддержка)

Get-ADUser –Filter {Department –Like «Support»} | FT

Список участников группы пользователей (пример: Пользователь = Ричард)

Get-ADPrincipalGroupMembership -Identity Ричард

Перечислить всех пользователей из определенной группы и переместить пользователей в другое подразделение
(пример: Группа = Люди, Целевая OU = Нью-Йорк, Домен = Contoso.ком)

Get-ADGroupMember People -Recursive | Move-ADObject –TargetPath «OU = NewYork, DC = Contoso, DC = Com»

Удалить всех пользователей в OU из конкретной группы
(пример: Группа = Люди, OU = Нью-Йорк, Домен = Contoso.com)

$ Users = Get-ADUser -Filter * -Searchbase «OU = NewYork, DC = Contoso, DC = Com»

Remove-ADGroupMember -Identity People -Member $ Users -Confirm: 0


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

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

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