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