Архив метки: Active Directory

Как получить больше 1000 записей из AD

При использовании связанного сервера к AD,   может возникнуть проблема получения всех записей из AD.
Поскольку  есть ограничения по количеству строк для запроса к LDAP .
Windows Server 2008 and newer domain controller returns only 5000 values in a LDAP response
Самый простой вариант разбить запрос на несколько частей по любому признаку, самое логичное по sAMAccountname 
Таким образом один запрос превращается в два, три и тд.
SELECT NAME,
       givenName,
       SN,
       sAMAccountname,
       mail,
       company,
       division,
       department,
       manager,
       userAccountControl,
       ObjectGuid,
       CASE
            WHEN ad.accountexpires IN ('9223372036854775807', '0', '129895740000000000') THEN
                 '9999-12-31'
            ELSE DATEADD(
                     mi,
                     (CAST(ad.accountExpires AS BIGINT) / 600000000)
                     + DATEDIFF(Minute, GETUTCDATE(), GETDATE()),
                     CAST(
'1/1/1601' AS DATETIME2)
                 )
       END AS AccountExpiresDate     
FROM   OPENQUERY(
           AD_SERVER,
           'select Name, givenName, SN, sAMAccountname, mail, company,division,department,manager, userAccountControl,ObjectGuid,accountExpires   from ''LDAP://DC=domen,DC=ru'' WHERE  sAMAccountname  < ''L'' and objectClass=''user'''
       ) AS AD
      
SELECT NAME,
       givenName,
       SN,
       sAMAccountname,
       mail,
       company,
       division,
       department,
       manager,
       userAccountControl,
       ObjectGuid,
       CASE
            WHEN ad.accountexpires IN ('9223372036854775807', '0', '129895740000000000') THEN
                 '9999-12-31'
            ELSE DATEADD(
                     mi,
                     (CAST(ad.accountExpires AS BIGINT) / 600000000)
                     + DATEDIFF(Minute, GETUTCDATE(), GETDATE()),
                     CAST('1/1/1601' AS DATETIME2)
                 )
       END AS AccountExpiresDate     
FROM   OPENQUERY(
           AD_SERVER,
           'select Name, givenName, SN, sAMAccountname, mail, company,division,department,manager, userAccountControl,ObjectGuid,accountExpires   from ''LDAP://DC=domen,DC=ru'' WHERE  sAMAccountname  > ''L'' and objectClass=''user'''
       ) AS AD
Расшифровка поля userAccountControl
'AcctCtrl' = ( CASE WHEN userAccountControl = 2 THEN 'Account is Disabled'
                        WHEN userAccountControl = 16 THEN 'Account Locked Out'
                        WHEN userAccountControl = 17
                        THEN CONVERT (VARCHAR(48), 'Entered Bad Password')
                        WHEN userAccountControl = 32
                        THEN CONVERT (VARCHAR(48), 'No Password is Required')
                        WHEN userAccountControl = 64
                        THEN CONVERT (VARCHAR(48), 'Password CANNOT Change')
                        WHEN userAccountControl = 512 THEN 'Normal'
                        WHEN userAccountControl = 514 THEN 'Disabled Account'
                        WHEN userAccountControl = 8192
                        THEN &#39
;Server Trusted Account for Delegation'
                        WHEN userAccountControl = 524288
                        THEN 'Trusted Account for Delegation'
                        WHEN userAccountControl = 590336
                        THEN 'Enabled, User Cannot Change Password, Password Never Expires'
                        WHEN userAccountControl = 65536
                        THEN CONVERT (VARCHAR(48), 'Account will Never Expire')
                        WHEN userAccountControl = 66048
                        THEN 'Enabled and Does NOT expire Paswword'
                        WHEN userAccountControl = 66050
                        THEN 'Normal Account, Password will not expire and Currently Disabled'
                        WHEN userAccountControl = 66064
                        THEN 'Account Enabled, Password does not expire, currently Locked out'
                        WHEN userAccountControl = 8388608
                        THEN CONVERT (VARCHAR(48), 'Password has Expired')
                        ELSE CONVERT (VARCHAR(248), userAccountControl)
                   END )

 Еще одна статья в помощь

Автор: Roman D
Дата публикации: 2016-04-22T05:25:00.001-07:00

Корзина AD (Active Directory Recycle Bin) в Windows Server 2012

Корзина AD (Active Directory Recycle Bin) в Windows Server 2012

В Windows Server 2012 корзина обрела графический интерфейс. Теперь включить ее можно из административного центра Active Directory.графический интерфейс AD bin

Читать

Корзина в Active Directory (Active Directory Recycle Bin)

Корзина в Active Directory (Active Directory Recycle Bin)

В продолжении темы о восстановлении объектов в Active Directory. В данной статье речь пойдет об инструменте, который призван облегчить процесс восстановления данных и сделать его более эффективным. Речь идет о Active Directory Recycle Bin, или корзине для удаленных объектов Active Directory. Принцип работы корзины Для начала вспомним, как выглядит жизненный цикл объекта AD при удалении. Объект помечается как удаленный (атрибут isDeleted объекта устанавливается в true) и из него удаляются лишние атрибуты. Затем он переименовывается и перемещается в контейнер Deleted Objects, в котором хранится в течение срока жизни удаленного объекта. По истечении этого срока он удаляется окончательно.Принцип работы корзины Читать

Как скрыть неиспользуемые контейнеры в Active Directory

В статье пойдет речь о том как скрыть неиспользуемые контейнеры в Active Directory

В оснастке Active Directory Users and Computers (ADUC), находятся контейнеры (Organization Unit, OU), в которые помещаются учетные записи пользователей, компьютеров и групп. В зависимости от размера и структуры организации количество OU может быть весьма большим.

Также оснастке ADUC присутствуют предопределенные контейнеры. Большинство из них практически не используются, однако болтаются в оснастке, загромождая место и затрудняя администрирование AD.

Вот так выглядит оснастка ADUC сразу после установки служб Active Directory. По умолчанию в ней отображаются следующие контейнеры:

• Builtin — контейнер, который содержит встроенные группы безопасности (Administrators, Backup Operators, Event Log Readers и так далее);

• Computers — контейнер для компьютеров по умолчанию;

• Domain Controllers — контейнер для контроллеров домена;

• ForeignSecurityPrincipals — контейнер, используемый для хранения идентификаторов безопасности (SID), связанных с доверенными доменами;

• Managed Service Accounts — контейнер для управляемых учетных записей служб;

• Users — контейнер для пользователей и групп по умолчанию. В нем содержатся такие важные группы, как Domain, Enterprise и Schema Admins. Читать