Развертывание модуля PowerShell Active Directory без установки RSAT
В одной из предыдущих статей мы показали, как использовать командлет Set-ADComputer в сценарии входа в объект групповой политики, чтобы сохранить информацию о текущем вошедшем в систему пользователе в свойствах каждого объекта компьютера AD. Один из комментаторов резонно заметил, что для этого придется установить RSAT с Active Directory для Windows PowerShell на все пользовательские компьютеры, что может занять много времени. Я решил попробовать выяснить, можно ли использовать командлеты модуля PowerShell ActiveDirectory без установки RSAT на компьютерах пользователей. И я сделал это!
Предположим, у нас есть сервер под управлением Windows Server 2012 R2, на котором установлены RSAT и модуль RSAT-AD-PowerShell. Наша задача — скопировать файлы RSAT-AD-PowerShell на рабочую станцию пользователя и импортировать их для запуска различных командлетов модуля AD. Я намеренно использую компьютер под управлением Windows 10 LTSC (на основе сборки 1809) в качестве рабочей станции, чтобы показать, что более ранние версии RSAT-AD-PowerShell поддерживаются в новых версиях ОС.
Прежде всего, давайте скопируем все файлы модуля AD из Windows Server 2012 R2 в Windows 10. Создайте папку C:\PS\ADPoSh и скопируйте все содержимое C:\Windows\System32\WindowsPowerShell\v1.0\ Modules\ActiveDirectory.
Затем скопируйте следующие файлы из папки 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 МБ) на компьютер с Windows 10, где не установлен модуль RSAT AD для Windows PowerShell.
Попробуем импортировать скопированный модуль 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 и т. д.).
Если ошибка «Невозможно связаться с сервером. Это может быть связано с тем, что этот сервер не существует, в настоящее время он недоступен или на нем не запущены веб-службы Active Directory', убедитесь, что веб-службы Active Directory (ADWS) на ближайшем контроллере домена запущены. и TCP-порт 9389 не блокируется брандмауэром.
Найти контроллер домена с ролью ADWS в вашем домене можно с помощью команды:
Get-ADDomainController -Discover -Service “ADWS”
Проверить доступность службы ADWS можно с помощью командлета Test-NetConnection:
Test-NetConnection DC01 -port 9389Чтобы запустить командлеты на конкретном контроллере домена, используйте параметр -Server:
Get-ADUser jbrion -server dc01.active-directory.ruВы можете использовать командлеты модуля PowerShell AD, пока не закроете сеанс PowerShell. Вы можете скопировать файлы модуля AD на все компьютеры домена с помощью GPO.



