В одной из предыдущих статей мы показывали, как использовать командлет 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:PSADPoSh и скопируйте в нее содержимое каталога C:WindowsSystem32WindowsPowerShellv1.0Modules .
Затем из каталога C:WindowsWinSxS скопируйте файлы:
- Microsoft.ActiveDirectory.Management.dll
- Microsoft.ActiveDirectory.Management.resources.dll
"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"
Теперь скопируйте каталог C:PSADPoSh (в моем случае его размер составил около 1,3 Мб), на компьютер, на котором отсутствует модуль RSAT AD for Windows PowerShell. В этом примере я использую компьютер с Windows 10.
Попробуем импортировать скопированный модуль Active Directory в текущую PowerShell сессию:
Import-Module "C:PSADPoShMicrosoft.ActiveDirectory.Management.dll"
Import-Module "C:PSADPoShMicrosoft.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.remontka.com
Вы можете использовать командлеты модуля AD пока не закроете сессию PowerShell. Файлы модуля можно скопировать файлы на все компьютеры в домене через GPO ,