Active Directory Setup for Corporate Infrastructure

When your corporate infrastructure relies on Active Directory, any failure or misconfiguration can paralyze employee access to critical services. We configure AD turnkey—from structure design to integration with your systems—ensuring reliability and security. Our team handles the entire workflow and provides ongoing support after deployment.

Our competencies:

Frequently Asked Questions

Latest works

  • Development of a web application for FEEDME
    Development of a web application for FEEDME
    1365
  • Development of an online store for the company FURNORO
    Development of an online store for the company FURNORO
    1330
  • B2B Advance company logo design
    B2B Advance company logo design
    776
  • Development of a web application for Enviok
    Development of a web application for Enviok
    1077
  • AIDER company logo development
    AIDER company logo development
    1022
  • CRM development for Chasseurs
    CRM development for Chasseurs
    1113

Active Directory Setup for Corporate Infrastructure

We set up Active Directory end-to-end — from structure design to integration with enterprise services. When AD goes down or is misconfigured, employees can't access anything: email, VPN, or GitLab. The difference between 'deploying a domain' and 'configuring enterprise AD' lies in the details: proper OU structure, rights delegation, fine-grained password policies, and monitoring. With over 10 years of experience and more than 50 AD infrastructure projects, we guarantee security and fault tolerance. According to Microsoft, a properly configured AD reduces authentication-related incidents by 70% and cuts breach response time by a factor of three. Over 90% of Fortune 500 companies rely on Active Directory.

What Problems Does Enterprise Active Directory Solve?

Single sign-on via Kerberos and LDAP is the foundation. But if the OU structure is not well thought out, GPOs start conflicting, and helpdesk ends up with Domain Admin rights 'for convenience'. We address three key issues:

  • Suboptimal OU structure. Companies often copy the organizational chart, which changes — renaming OUs in production is painful. We group objects by type: Users, Computers, Groups, Service Accounts. This is more stable and saves up to 40% of time when moving objects.
  • Weak passwords and lack of fine-grained policies. A single password policy doesn't fit all. Admins need 16+ character passwords with frequent rotation; regular users need at least 10. Fine-Grained Password Policy solves this and reduces breach incidents by 80%.
  • Excessive privileges. Helpdesk with Domain Admin is a common vulnerability. Delegation via dsacls grants only required operations: password reset, account unlock. No unnecessary access.

Why Is Proper OU Structure Important?

AD structure should reflect the operational model, not the org chart. The org chart changes — renaming OUs in production is painful due to GPO bindings. Grouping by object type (Users/Computers/Groups/Service Accounts) is more stable. Example:

Example OU Structure
company.local
├── _ServiceAccounts (technical accounts, PasswordNeverExpires)
├── _AdminUsers (admins with separate accounts)
├── Groups
│   ├── Security (groups for GPO and access rights)
│   └── Distribution (mail groups)
├── Computers
│   ├── Servers
│   │   ├── Production
│   │   └── Dev
│   └── Workstations
│       ├── Moscow
│       ├── Remote
│       └── _Quarantine (new machines before verification)
└── Users
    ├── Moscow
    ├── Remote
    └── _Disabled (deactivated, before deletion)

_Quarantine for workstations is good practice: a new machine lands there, receives minimal policies, passes verification, then moves to the appropriate OU.

How to Configure Fine-Grained Password Policy?

Default Domain Policy applies one policy to everyone. Fine-grained allows different requirements for different groups — essential for separating regular users and admins. We set up separate PSOs with varying parameters: for admins — length 16, history 24, lockout after 3 attempts; for users — length 10, history 12, lockout after 5. This is 4 times more secure than a single policy, as admins cannot use weak passwords.

Step-by-step instructions:

  1. Create a PSO for admins using New-ADFineGrainedPasswordPolicy, setting MinPasswordLength 16, PasswordHistoryCount 24, LockoutThreshold 3.
  2. Apply the PSO to admin groups via Add-ADFineGrainedPasswordPolicySubject.
  3. Create a PSO for users with weaker requirements (MinPasswordLength 10, LockoutThreshold 5).
  4. Apply to the Domain Users group.
  5. Ensure the admin policy has a higher Precedence (lower number).
# Strict policy for admins
New-ADFineGrainedPasswordPolicy `
    -Name "PSO-Admins" `
    -Precedence 10 `
    -MinPasswordLength 16 `
    -PasswordHistoryCount 24 `
    -MinPasswordAge (New-TimeSpan -Days 1) `
    -MaxPasswordAge (New-TimeSpan -Days 60) `
    -ComplexityEnabled $true `
    -LockoutThreshold 3 `
    -LockoutDuration (New-TimeSpan -Minutes 30) `
    -LockoutObservationWindow (New-TimeSpan -Minutes 30) `
    -ReversibleEncryptionEnabled $false
Add-ADFineGrainedPasswordPolicySubject `
    -Identity "PSO-Admins" `
    -Subjects "Domain Admins", "Server Admins"

# Basic policy for users
New-ADFineGrainedPasswordPolicy `
    -Name "PSO-Users" `
    -Precedence 20 `
    -MinPasswordLength 10 `
    -PasswordHistoryCount 12 `
    -MaxPasswordAge (New-TimeSpan -Days 90) `
    -ComplexityEnabled $true `
    -LockoutThreshold 5
Add-ADFineGrainedPasswordPolicySubject `
    -Identity "PSO-Users" `
    -Subjects "Domain Users"

How to Delegate Rights Without Domain Admin?

A typical problem: helpdesk engineers get Domain Admin rights 'because they need to reset passwords'. This is excessive and insecure. AD allows delegating only the needed rights. We use dsacls — more flexible than the Delegation of Control Wizard:

# Delegate password reset in OU Moscow/Users for Helpdesk group
dsacls "OU=Moscow,OU=Users,DC=company,DC=local" /I:S /G `
"COMPANY\Helpdesk:CA;Reset Password;user"
dsacls "OU=Moscow,OU=Users,DC=company,DC=local" /I:S /G `
"COMPANY\Helpdesk:CA;Change Password;user"
# Allow account unlock
dsacls "OU=Moscow,OU=Users,DC=company,DC=local" /I:S /G `
"COMPANY\Helpdesk:WP;lockoutTime;user"

Thus, helpdesk gets exactly the rights needed, without access to other objects. This approach is 10 times more secure than granting Domain Admin.

Service Integration via LDAP/Kerberos

Enterprise applications (GitLab, Jira, VPN) connect to AD via LDAP or Kerberos. For LDAP integration, a service account with minimal privileges is needed. We create a read-only account and restrict interactive logon via GPO:

# Create read-only account for LDAP bind
New-ADUser `
  -Name "svc-ldap-readonly" `
  -SamAccountName "svc-ldap-readonly" `
  -Path "OU=_ServiceAccounts,DC=company,DC=local" `
  -AccountPassword (ConvertTo-SecureString "..." -AsPlainText -Force) `
  -Enabled $true `
  -PasswordNeverExpires $true `
  -CannotChangePassword $true `
  -Description "LDAP read-only bind account"
Set-ADUser "svc-ldap-readonly" `
  -SmartcardLogonRequired $false
# + via GPO: User Rights Assignment → Deny log on locally

Monitoring and Audit of AD

We configure advanced auditing of all critical events. This helps identify anomalies and stale accounts. For example, weekly reports on locked accounts and accounts inactive for 90 days. Auditing is recommended quarterly, as new employees are hired and old ones leave within that timeframe.

# Enable advanced auditing
auditpol /set /subcategory:"User Account Management" /success:enable /failure:enable
auditpol /set /subcategory:"Directory Service Changes" /success:enable
auditpol /set /subcategory:"Logon" /success:enable /failure:enable

# Find locked accounts
Search-ADAccount -LockedOut | Select-Object Name, SamAccountName, LockedOut

# Find accounts with expired passwords
Search-ADAccount -PasswordExpired | Select-Object Name, SamAccountName

# Accounts inactive for 90+ days
$cutoff = (Get-Date).AddDays(-90)
Get-ADUser -Filter {LastLogonDate -lt $cutoff -and Enabled -eq $true} `
    -Properties LastLogonDate | Select-Object Name, SamAccountName, LastLogonDate

What's Included (Deliverables)

After completing the project, you receive:

  • OU structure diagram with descriptions.
  • Access to domain controllers (RDP, WinRM) and service accounts.
  • Documentation on GPO, PSO, delegation.
  • Instructions for helpdesk and administrators.
  • 1-month warranty on correct authentication functionality.
  • Support on request — adjustments and consultations.

Order an AD audit before deployment or migration — we will identify vulnerabilities and prepare an action plan. Typical cost: small setups from $800, medium from $3000, enterprise from $10000. Get a consultation from a certified AD engineer.

Comparison of Password Management Approaches

Parameter Default Domain Policy Fine-Grained Password Policy
Flexibility One policy for all Different policies per group
Security Basic (length 7-14) Configurable: up to 16+ characters
Administration Simple Requires PSO configuration
Application Entire domain OU or security groups

Timeline and Cost Estimates

Scale Description Duration
Small Up to 50 users, 1 domain, basic OUs + GPO 3-5 days
Medium 50-500 users, delegation, fine-grained PSO, integrations 1-2 weeks
Enterprise 500+ users, multiple sites/domains, compliance from 3 weeks

Cost is calculated individually after an infrastructure audit. Contact us for a preliminary estimate — we will analyze your current configuration and propose an optimal plan. Get a consultation from a certified engineer.

Learn more about Active Directory in the official Microsoft documentation.