попробуйте обернуть критический код для обработки ошибки, например:
on error resume next
Set objRecordSet = objCommand.Execute
if err.Number <> 0 then MsgBox "Exception occured: " & err.Description
on error goto 0
ок, попробуйте что-нибудь другое.давно я написал хранимую процедуру для этого, может быть, это поможет вам
CREATE PROCEDURE sp_get_ad_user_info (
@DomainName varchar (64),
@AccountName varchar (128)
)
AS
BEGIN
DECLARE @adsiSQL nvarchar(1024)
SELECT @adsiSQL =
'SELECT samAccountName, Name, mail, Company, l [City], extensionAttribute1 [BirthDay], extensionAttribute2 [HireDay],department,title,telephoneNumber
FROM OPENQUERY( ADSI,
''SELECT samAccountName, Name, mail, company, l, extensionAttribute1, extensionAttribute2,department,title,telephoneNumber
FROM ''''LDAP://' + @DomainName + '''''
WHERE objectCategory = ''''Person'''' AND objectClass = ''''user'''' AND samAccountName=''''' + @AccountName + '''''' +
''')'
exec sp_executesql @adsiSQL
RETURN
END