В одній з попередніх статей ми показували, як використовувати командлет 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 Модулі.

Потім з каталогу C: Windows WinSxS скопіюйте файли:

  • Microsoft.ActiveDirectory.Management.dll
  • Microsoft.ActiveDirectory.Management.resources.dll
Ці бібліотеки можна знайти пошуком по каталогу WinSxS. У моєму прикладі на Windows Server 2012 R2 повний шлях виглядав так:

"C:WindowsWinSxSamd64_microsoft.activedirectory.management_31bf3856ad364e35_6.3.9600.16503_none_09aa35cd49da6068Microsoft.ActiveDirectory.Management.dll"

І

"C:WindowsWinSxSamd64_microsoft.activedir..anagement.resources_31bf3856ad364e35_6.3.9600.16384_en-us_efefcf68718a71bcMicrosoft.ActiveDirectory.Management.resources.dll"

бібліотеки модуля RSAT-AD-PowerShell Microsoft.ActiveDirectory.Management.dll

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

Спробуємо імпортувати скопійований модуль Active Directory в поточну PowerShell сесію:

Import-Module "C:PSADPoShMicrosoft.ActiveDirectory.Management.dll"

Імпорт-модуль Microsoft.ActiveDirectory.Management.dll

Import-Module "C:PSADPoShMicrosoft.ActiveDirectory.Management.resources.dll"

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

get-aduser без установки модуля AD Posh

При появі помилки ‘Не вдається зв’язатися із сервером. Це може бути тому, що цього сервера не існує, він наразі не працює або у нього не запущено веб-служби Active Directory‘Потрібно перевірити, що служба Active Directory Web Services (ADWS) на найближчому контролері домену запущено і порт TCP 9389 не блокується файерволом.

Ви можете знайти в домені DC з роллю ADWS за допомогою команди:

Get-ADDomainController -Discover -Послуга «ADWS»

Get-ADDomainController знайти веб-служби Active Directory

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

tnc MSK-DC01 -port 9389

Щоб виконувати командлети на конкретному DC, потрібно використовувати параметр -Server:

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

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

Leave a Reply

Your email address will not be published. Required fields are marked *