Ari*_*Das 1 ldap active-directory ldapconnection
我正在尝试使用端口 636 连接到 LDAP,但出现错误“服务器无法运行”,但如果我尝试连接到端口 389,则它可以正常连接并获取数据
这是我正在使用的代码
DirectoryEntry entry = new DirectoryEntry("LDAP://ldap.domain.com:636/ou=**,ou=**,dc=**,dc=**", "uid=user,OU=**,OU=**,DC=**,DC=**", "password", AuthenticationTypes.None);
Run Code Online (Sandbox Code Playgroud)
有了这个,如果我尝试连接,我会收到错误“服务器无法运行”
但是如果我把代码改成这个
DirectoryEntry entry = new DirectoryEntry("LDAP://ldap.domain.com:389/ou=**,ou=**,dc=**,dc=**", "uid=user,OU=**,OU=**,DC=**,DC=**", "password", AuthenticationTypes.None);
Run Code Online (Sandbox Code Playgroud)
或者甚至删除端口(默认情况下我认为使用 389 端口)
DirectoryEntry entry = new DirectoryEntry("LDAP://ldap.domain.com/ou=**,ou=**,dc=**,dc=**", "uid=user,OU=**,OU=**,DC=**,DC=**", "password", AuthenticationTypes.None);
Run Code Online (Sandbox Code Playgroud)
然后它正常连接并获取数据。
任何人都可以帮我通过 636 端口连接 LDAP,因为在测试服务器环境中我需要通过 636 连接不能使用 389。
LDAP over SSL 需要做三件事才能工作:
Test-NetConnection:Test-NetConnection ldap.domain.com -Port 636
Run Code Online (Sandbox Code Playgroud)
$domain为实际域):$domain = "ldap.domain.com"
$webRequest = [Net.WebRequest]::Create("https://$($domain):636")
try { $webRequest.GetResponse() } catch {}
$cert = $webRequest.ServicePoint.Certificate
$bytes = $cert.Export([Security.Cryptography.X509Certificates.X509ContentType]::Cert)
set-content -value $bytes -encoding byte -path "~\Downloads\$domain.cer"
Run Code Online (Sandbox Code Playgroud)
这会将证书放在您的“下载”文件夹中。打开 .cer 文件,它会立即告诉您它是否在您的机器上受信任。如果没有,那么您将需要获取根证书并将其作为受信任的根证书安装在运行此代码的任何机器上。
"LDAP://dc1.domain.com:636") 为目标,而不仅仅是域的名称。| 归档时间: |
|
| 查看次数: |
3384 次 |
| 最近记录: |