Привіт привіт.
Сьогодні рулимо проблему «Get-ADUser: Unable to contact server» у PowerShell.
Намалював коротеньку інструкцію для діагностики та виправлення проблем із RSAT/ADWS з портом 9389.
Зміст
- Початкова інформація та контекст
- Перевірки - по кроках
- LOGONSERVER vs ADWS - в чому різниця
- Що робити, якщо ADWS недоступний
- Обхідні шляхи (LDAP / .NET) та рекомендації
- Коротке зведення у таблиці
Початкова інформація та контекст
Командлети модуля ActiveDirectory (Get-ADUser, Get-ADDomain, Get-ADComputer) в RSAT використовують службу Active Directory Web Services (ADWS), яка працює через TCP-порт 9389. Якщо при виконанні Get-ADUser ти бачиш помилку “Unable to contact server”, це часто означає, що PowerShell не може зв’язатися з ADWS на жодному доступному контролері домену.
Перевірки - по кроках
1) Перевірка наявності RSAT (AD модуль)
Get-WindowsCapability -Name RSAT* -Online | ? Name -like '*DS-LDS*'
Якщо State : Installed — модуль встановлено. Якщо ні, можна встановити:
Add-WindowsCapability -Name Rsat.ActiveDirectory.DS-LDS.Tools~~~~0.0.1.0 -Online
2) Перевірка базового мережевого доступу і DNS
Test-Connection <ім'я_DomainController> -Count 1 Resolve-DnsName _ldap._tcp.dc._msdcs.<ваш_домен> -Type SRV
3) Перевірка LOGONSERVER
whoami echo $env:USERDOMAIN echo $env:LOGONSERVER
4) Перевірка доступності ADWS (порт 9389)
Get-ADDomainController -Discover -Service ADWS Test-NetConnection -ComputerName <ім'я_DC> -Port 9389
5) Перевірка безпечного каналу
Test-ComputerSecureChannel -Verbose Test-ComputerSecureChannel -Repair -Credential (Get-Credential)
LOGONSERVER vs ADWS
LOGONSERVER — контролер, який обробляв ваш вхід. ADWS — служба для PowerShell-запитів (порт 9389). Вони можуть бути різними.
Перевірити обидва
Write-Host "LOGONSERVER: $env:LOGONSERVER" $dcADWS = Get-ADDomainController -Discover -Service ADWS Write-Host "ADWS Server: $($dcADWS.HostName) ($($dcADWS.IPv4Address))"
Практичне рішення
$dc = (Get-ADDomainController -Discover -Service ADWS).HostName Get-ADUser -Server $dc -Filter *
Якщо жоден DC не відповідає на порт 9389
Get-Service ADWS Start-Service ADWS Set-Service ADWS -StartupType Automatic New-NetFirewallRule -DisplayName "Allow ADWS 9389" -Direction Inbound -Protocol TCP -LocalPort 9389 -Action Allow
Обхідні шляхи: LDAP / .NET
$searcher = [ADSISearcher]"(objectClass=user)" $searcher.FindAll() | Select-Object -First 10
Коротке зведення
| Симптом | Ймовірна причина | Рішення |
|---|---|---|
| Get-ADUser → “Unable to contact server” | ADWS недоступна або порт 9389 закритий | Перевірити ADWS на DC, відкрити порт 9389 або вказати -Server |
| ADWS відсутній | Старий DC (до 2008 R2) | Використовувати новіший контролер або LDAP/.NET |
| LOGONSERVER ≠ ADWS | Вхід через інший DC без ADWS | Вказувати -Server (ADWS DC) або змінити логон-сервер |
| Обидва DC без ADWS | Немає сучасних DC у домені | Оновити DC або використовувати LDAP-запити |
Рекомендації
- Перевірити, що RSAT AD модуль встановлено.
- Переконатися, що DNS показує SRV-записи контролерів домену.
- Визначити LOGONSERVER і DC з ADWS.
- Тестувати порт 9389 (Test-NetConnection).
- Якщо ADWS недоступна - запустити службу, відкрити порт або використовувати інший DC.
- Тимчасовий обхід - вказувати -Server з DNS-іменем DC, де ADWS працює.
УВАГА: наведені команди потребують прав адміністратора на сервері PDC.

No comments:
Post a Comment
А что вы думаете по этому поводу?