Меню

Ad module for powershell windows 10

Использование модуля 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

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

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

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

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

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

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

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

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

Источник статьи: http://winitpro.ru/index.php/2019/08/20/ad-powershell-bez-ustanovki-rsat/

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

Модуль Active Directory для Windows PowerShell сегодня является одним из основных средств администрирования домена, управления объектами в Active Directory, получения различной информации о компьютерах, пользователях, группах. Любой системный администратор Windows должен уметь пользоваться не только графическими оснастками AD (чаще всего это ADUC – Active Directory Users & Computer), но и командлетами этого модуля PowerShell для выполнения повседневных задач администрирования Active Directory. В этой статье мы рассмотрим, как установить модуль RSAT-AD-PowerShell, его базовый функционал и популярные командлеты, которые должны быть полезными при управлении и работе с AD.

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

Модуль Active Directory для Windows PowerShell уже встроен в операционные системы Windows Server (начиная с Windows Server 2008 R2), но по умолчанию не активирован.

В Windows Server 2016 вы можете включить модуль AD для PoSh в Windows Server 2016 из панели управления Server Manager (Add Roles and Features -> Features -> Remote Server Administration tools -> Role Administration Tools -> AD DS and AD LDS Tools -> Active Directory module for Windows PowerShell).

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

Install-WindowsFeature -Name «RSAT-AD-PowerShell» –IncludeAllSubFeature

Вы можете установить модуль RSAT-AD-PowerShell не только на контроллере домена. Подойдет любой рядовой сервер или даже рабочая станция. На контроллерах домена AD модуль устанавливается автоматически при развертывании роли ADDS (при повышении сервера до DC).

Взаимодействие модуля с AD выполняется через служба Active Directory Web Services, которая должна быть установлена на котроллере домена (взаимодействие по порту TCP 9389).

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

Вы можете установить модуль RSAT-AD-PowerShell не только на серверах, но и на рабочих станциях. Этот модуль входит в состав пакета RSAT (Remote Server Administration Tools), который можно скачать и установить вручную в Window 7, Windows 8.1. После установки RSAT модуль AD дл PowerShell ставится из панели управления (Control Panel -> Programs and Features -> Turn Windows features on or off -> Remote Server Administration Tools-> Role Administration Tools -> AD DS and AD LDS Tools).

В Windows 10 1809 и выше пакет RSAT уже встроен в дистрибутив (как Features on Demand), поэтому для установки модуля можно воспользоваться командой:

Add-WindowsCapability –online –Name “Rsat.ActiveDirectory.DS-LDS.Tools

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

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

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

$rs = New-PSSession -ComputerName DC_or_Comp_with_ADPosh
Import-Module -PSsession $rs -Name ActiveDirectory

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

Get-Command –module activedirectory

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

Get-Command –module activedirectory |measure-object

Большинство командлетов модуля 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 при наборе параметров командлетов модуля удобно использовать всплывающие подсказки.

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

Рассмотрим несколько типовых задач администратора, которые можно выполнить с помощью команд модуля AD для PowerShell.

New-ADUser: Создание пользователя в AD

Для создания нового пользователя в AD можно использовать командлет New-ADUser. Создать пользователя можно командой:

New-ADUser -Name «Andrey Petrov» -GivenName «Andrey» -Surname «Petrov» -SamAccountName «apetrov» -UserPrincipalName «apetrov@winitpro.ru » -Path «OU=Users,OU=Ufa,DC=winitpro,DC=loc» -AccountPassword(Read-Host -AsSecureString «Input Password») -Enabled $true

Более подробно о команде New-ADUser (в том числе пример массового создания учетных записей в домене) читайте в статье .

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

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

Get-ADComputer -SearchBase ‘OU=Russia,DC=winitpro,DC=ru’ -Filter * -Properties * | FT Name, LastLogonDate -Autosize

Add-AdGroupMember: Добавить пользователя в группу AD

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

Add-AdGroupMember -Identity MskSales -Members apterov, divanov

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

Get-ADGroupMember MskSales -recursive| ft samaccountname| Out-File c:\script\export_users.csv

Set-ADAccountPassword: Сброс пароля пользователя в AD

Set-ADAccountPassword apterov -Reset -NewPassword (ConvertTo-SecureString -AsPlainText “P@ssw0rd1” -Force -Verbose) –PassThru

Блокировка/разблокировка пользователя

Разблокировать аккаунт после блокировки парольной политикой:

Search-ADAccount: Поиск неактивных компьютеров в домене

Чтобы найти и заблокировать в домене все компьютеры, которые не регистрировались в сети более 100 дней, воспользуйтесь командлетом Search-ADAccount:

$timespan = New-Timespan –Days 100
Search-ADAccount -AccountInactive -ComputersOnly –TimeSpan $timespan | Disable-ADAccount

New-ADOrganizationalUnit: Создать структуру OU в AD

Чтобы быстро создать типовую структуры Organizational Unit в AD, можно воспользоваться скриптом PowerShell. Допустим, нам нужно создать несколько OU с городами, в которых создать типовые контейнеры. Вручную через графическую консоль ADUC такую структуру создавать довольно долго, а модуль AD для PowerShell позволяет решить такую задачу за несколько секунд (не считая время на написание скрипта):

$fqdn = Get-ADDomain
$fulldomain = $fqdn.DNSRoot
$domain = $fulldomain.split(«.»)
$Dom = $domain[0]
$Ext = $domain[1]
$Sites = («SPB»,»MSK»,»Sochi»)
$Services = («Users»,»Admins»,»Computers»,»Servers»,»Contacts»)
$FirstOU =»Russia»
New-ADOrganizationalUnit -Name $FirstOU -Description $FirstOU -Path «DC=$Dom,DC=$EXT» -ProtectedFromAccidentalDeletion $false
foreach ($S in $Sites)
<
New-ADOrganizationalUnit -Name $S -Description «$S» -Path «OU=$FirstOU,DC=$Dom,DC=$EXT» -ProtectedFromAccidentalDeletion $false
foreach ($Serv in $Services)
<
New-ADOrganizationalUnit -Name $Serv -Description «$S $Serv» -Path «OU=$S,OU=$FirstOU,DC=$Dom,DC=$EXT» -ProtectedFromAccidentalDeletion $false
>
>
После выполнения скрипта у нас в AD появилась такая структура OU.

Для переноса объектов между контейнерами AD можно использовать командлет Move-ADObject:

$TargetOU = «OU=Buhgalteriya,OU=Computers,DC=corp,DC=winitpro,DC=ru»
Get-ADComputer -Filter ‘Name -like «BuhPC*»‘ | Move-ADObject -TargetPath $TargetOU

Get-ADReplicationFailure: Проверка репликации в AD

С помощью командлета Get-ADReplicationFailure можно проверить состояние репликации между контроллерами домена AD:

Get-ADReplicationFailure -Target DC01,DC02

Получить информацию обо всех DC в домене с помощью командлета Get-AdDomainController:

Get-ADDomainController –filter * | select hostname,IPv4Address,IsGlobalCatalog,IsReadOnly,OperatingSystem | format-table –auto

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

Источник статьи: http://winitpro.ru/index.php/2019/07/18/modul-active-directory-dlya-powershell/


Adblock
detector