私はActive Directoryサーバに接続して認証するためにSynapse LDAPSend.pasライブラリを使用しています。コードは非常にシンプルで直接的ですが、コマンドを正しくバインドするには、ユーザー名に "DomainName \ Username"または "Username @ DomainName"形式が必要であるという問題があります。どういうわけか、Usernameを指定してのみ動作させるのですか?Synapse LDAPSendライブラリにはusername = Domain Userが必要です
var
ldap: TLDAPsend;
begin
ldap:= TLDAPsend.Create;
try
ldap.TargetHost := '192.168.0.12';
ldap.UserName:= 'AD\Owner'; //here I need to specify only Owner
ldap.Password:= 'Password!';
if ldap.Login then
if ldap.Bind then
begin
//do stuff
ldap.Logout;
end;
finally
ldap.Free;
end;
end;
"* \ Owner"やActive Directoryの他のコマンドを使って動作させると思っていましたか?それを作るためのシナプスの設定かもしれません。
常に名前を持つActive Directoryに接続しています。ユーザー名を知っている場合、ドメイン名を取得することは問題ではありません。 –
私はActive Directoryに慣れていません。ログに記録せずにドメイン名を取得することは可能ですか?どうやってやるの? – user2864778
あなたのプログラムは、クライアントマシン上で実行されているか、またはネットワーク上のどこかのサーバ上で動作していますか?プログラムがサーバー上で実行されている場合:ADドメインのサーバー部分ですか? –