Active Directory a Entra ID — Sprievodca riešením problémov v hybridnom prostredí 2026

Kompletný sprievodca diagnostikou hybridnej identity v roku 2026. Synchronizácia hesiel, Hybrid Join, Conditional Access politiky a praktické PowerShell skripty pre helpdesk tímy.

Úvod: Hybridná identita — prečo vás to musí zaujímať

Ak robíte na IT helpdesku alebo spravujete podnikovú infraštruktúru, tak viete, že správa identít je jednou z tých vecí, ktoré vás dokážu poriadne potrápiť. V roku 2026 sa väčšina organizácií nachádza v hybridnom stave — kombinujú lokálny Active Directory (AD) s cloudovým Microsoft Entra ID (predtým Azure AD). A práve toto hybridné prostredie prináša výzvy, ktoré dokážu potrápiť aj skúsených adminstrátorov.

Tak prečo je to dôležité práve teraz?

Microsoft oznámil, že 30. septembra 2026 prestanú fungovať synchronizačné služby v Microsoft Entra Connect Sync pre verzie staršie ako 2.5.79.0. Od marca 2026 sa sprísňuje vynucovanie Conditional Access politík. A od februára 2026 sa mení fungovanie revokovania MFA relácií. Úprimne — ak ste sa doteraz nesústredili na hybridnú identitu, teraz je ten správny čas začať.

V tomto článku vám dáme praktický sprievodca riešením najčastejších problémov pri správe hybridnej identity. Od synchronizácie hesiel cez Hybrid Join zariadení až po diagnostiku Conditional Access politík — všetko s konkrétnymi príkazmi, ktoré môžete okamžite použiť vo svojom prostredí.

1. Microsoft Entra Connect Sync — Diagnostika a riešenie synchronizačných problémov

Kritický termín: Aktualizácia pred 30. septembrom 2026

Prvá vec, ktorú musíte skontrolovať, je verzia vášho Microsoft Entra Connect Sync servera. V máji 2025 Microsoft vydal verziu 2.5.79.0 so zmenami v backendových službách, ktoré posilňujú bezpečnosť. Ak neaktualizujete pred 30. septembrom 2026, synchronizačné služby jednoducho prestanú fungovať — žiadne varovania, žiadne postupné spomaľovanie. Proste sa to zastaví.

Kontrola aktuálnej verzie:

# PowerShell — kontrola verzie Entra Connect
Get-ADSyncGlobalSettings | Select-Object -ExpandProperty Parameters | Where-Object {$_.Name -eq "Microsoft.Synchronize.ServerConfigurationVersion"} | Select-Object Value

# Alternatívne — kontrola cez registry
Get-ItemProperty "HKLM:\SOFTWARE\Microsoft\Azure AD Connect" | Select-Object Version

# Kontrola cez WMI
Get-WmiObject -Class Win32_Product | Where-Object {$_.Name -match "Azure AD Connect|Microsoft Entra Connect"} | Select-Object Name, Version

Ak máte verziu nižšiu ako 2.5.79.0, naplánujte si aktualizáciu čo najskôr. Pred aktualizáciou sa uistite, že spĺňate tieto minimálne požiadavky:

  • .NET Framework 4.7.2 alebo novší
  • TLS 1.2 musí byť povolený na serveri
  • Windows Server 2016 alebo novší (odporúčaný je Server 2022)
  • Záloha aktuálnej konfigurácie pred aktualizáciou

Kontrola stavu synchronizácie

Keď helpdesk dostane tiket typu „používateľ sa nemôže prihlásiť" alebo „zmena hesla nefunguje v cloude", prvým krokom je vždy kontrola stavu synchronizácie. Toto je proste základ, bez ktorého sa nepohnete ďalej:

# Kontrola stavu posledného synchronizačného cyklu
Get-ADSyncScheduler

# Podrobný stav poslednej synchronizácie
Get-ADSyncRunProfileResult -ConnectorName "yourdomain.local" | Select-Object -First 5

# Kontrola chýb synchronizácie
Get-ADSyncCSObject -ConnectorName "yourdomain.local" -ObjectType "user" -ErrorsOnly

# Kontrola exportných chýb do Entra ID
Get-ADSyncCSObject -ConnectorName "yourtenant.onmicrosoft.com - AAD" -ObjectType "user" -ErrorsOnly

Výsledok príkazu Get-ADSyncScheduler vám ukáže kľúčové informácie:

  • AllowedSyncCycleInterval: Minimálny interval medzi synchronizačnými cyklami (predvolene 30 minút)
  • CurrentlyEffectiveSyncCycleInterval: Aktuálne platný interval
  • NextSyncCyclePolicyType: Typ ďalšej plánovanej synchronizácie (Delta alebo Initial)
  • NextSyncCycleStartTimeInUTC: Čas ďalšej plánovanej synchronizácie
  • SyncCycleEnabled: Či je synchronizácia povolená

Najčastejšie chyby synchronizácie a ich riešenie

Chyba: stopped-extension-dll-exception

Táto chyba sa objavuje, keď synchronizačný engine nedokáže spracovať pravidlá transformácie. Najčastejšie príčiny sú tri:

  1. Poškodené synchronizačné pravidlo
  2. Nedostupnosť zdrojového atribútu v Active Directory
  3. Konflikt medzi vlastnými a predvolenými pravidlami
# Výpis všetkých synchronizačných pravidiel zoradených podľa priority
Get-ADSyncRule | Sort-Object Precedence | Format-Table Name, Precedence, Direction, Connector -AutoSize

# Export pravidiel na diagnostiku
Get-ADSyncRule | Export-Csv C:\temp\SyncRules.csv -NoTypeInformation

Chyba: identity-synchronization-error (duplicate attributes)

Toto je podľa mojich skúseností najčastejšia chyba, s ktorou sa stretnete. Vzniká, keď dva alebo viac objektov v AD majú rovnakú hodnotu atribútu, ktorý musí byť v Entra ID unikátny — najčastejšie proxyAddresses alebo userPrincipalName. Býva to dosť nepríjemné na ladenie, ale s týmto skriptom si poradíte:

# Vyhľadanie duplicitných proxyAddresses v lokálnom AD
$users = Get-ADUser -Filter * -Properties proxyAddresses
$duplicates = $users | Where-Object { $_.proxyAddresses } |
    Group-Object { ($_.proxyAddresses | Where-Object { $_ -clike "SMTP:*" }) -join "," } |
    Where-Object { $_.Count -gt 1 }

foreach ($dup in $duplicates) {
    Write-Host "Duplicitná adresa: $($dup.Name)" -ForegroundColor Red
    $dup.Group | ForEach-Object { Write-Host "  - $($_.SamAccountName) ($($_.DistinguishedName))" }
}

# Vyhľadanie duplicitných UPN
Get-ADUser -Filter * -Properties userPrincipalName |
    Group-Object userPrincipalName |
    Where-Object { $_.Count -gt 1 } |
    ForEach-Object {
        Write-Host "Duplicitný UPN: $($_.Name)" -ForegroundColor Red
        $_.Group | ForEach-Object { Write-Host "  - $($_.SamAccountName)" }
    }

2. Synchronizácia hesiel — Keď zmena hesla nefunguje

Ako funguje Password Hash Synchronization (PHS)

Password Hash Synchronization je najjednoduchšia metóda autentifikácie v hybridnom prostredí. Entra Connect extrahuje hash hesla z lokálneho AD, aplikuje naň ďalšiu vrstvu hashingu (SHA256) a posiela ho do Entra ID. Dôležité je vedieť, že samotné heslo sa nikdy neprenáša — iba derivovaný hash. Takže z hľadiska bezpečnosti je to celkom slušné riešenie.

Keď používateľ zmení heslo v lokálnom AD, synchronizácia zvyčajne prebehne do pár minút. Ak sa tak nedeje, postupujte nasledovne.

Diagnostický postup krok za krokom

# Krok 1: Overenie, či je PHS povolený
Get-ADSyncAADPasswordSyncConfiguration -SourceConnector "yourdomain.local"

# Krok 2: Kontrola stavu PHS kanálu
Get-ADSyncAADPasswordSyncConfiguration -SourceConnector "yourdomain.local" | Select-Object Enabled, TargetConnector

# Krok 3: Vynútenie synchronizácie hesla pre konkrétneho používateľa
$connector = Get-ADSyncConnector -Name "yourdomain.local"
$csObject = Get-ADSyncCSObject -ConnectorName "yourdomain.local" -DistinguishedName "CN=Jan Novak,OU=Users,DC=yourdomain,DC=local"
Invoke-ADSyncCSObjectPasswordSync -ConnectorName "yourdomain.local" -DistinguishedName $csObject.DistinguishedName

# Krok 4: Kontrola event logu na synchronizačnom serveri
Get-EventLog -LogName Application -Source "Directory Synchronization" -Newest 20 | Format-Table TimeGenerated, EntryType, Message -Wrap

Časté príčiny zlyhania PHS

Toto sú veci, na ktoré narážam najčastejšie:

  • Expirovaný servisný účet: Účet AD DS používaný službou Entra Connect má vypršané heslo alebo bol zablokovaný. Skontrolujte stav účtu MSOL_* v Active Directory.
  • Firewall blokujúci komunikáciu: PHS vyžaduje odchádzajúce HTTPS spojenie (port 443) na *.microsoftonline.com a *.windows.net.
  • TLS 1.2 nie je povolený: Od roku 2025 Microsoft vyžaduje TLS 1.2. Staršie verzie sú jednoducho odmietané.
  • Poškodený synchronizačný kanál: Tu pomôže len reset kanálu a reštart služby.
# Overenie TLS 1.2 nastavenia na serveri
$tls12Path = "HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2"
Get-ItemProperty "$tls12Path\Client" -ErrorAction SilentlyContinue
Get-ItemProperty "$tls12Path\Server" -ErrorAction SilentlyContinue

# Povolenie TLS 1.2 ak nie je aktivovaný
New-Item "$tls12Path\Client" -Force
Set-ItemProperty "$tls12Path\Client" -Name "Enabled" -Value 1
Set-ItemProperty "$tls12Path\Client" -Name "DisabledByDefault" -Value 0
New-Item "$tls12Path\Server" -Force
Set-ItemProperty "$tls12Path\Server" -Name "Enabled" -Value 1
Set-ItemProperty "$tls12Path\Server" -Name "DisabledByDefault" -Value 0

Password Writeback — zápis hesla späť do lokálneho AD

Password Writeback umožňuje používateľom zmeniť si heslo cez samoobslužný portál (Self-Service Password Reset — SSPR) v Entra ID a táto zmena sa automaticky zapíše späť do lokálneho AD. Je to nesmierne užitočná funkcia — ak funguje správne. Pri riešení problémov sledujte tieto body:

# Kontrola, či je Password Writeback povolený v Entra Connect
Get-ADSyncAADCompanyFeature | Select-Object PasswordWriteBack

# Kontrola oprávnení servisného účtu na resetovanie hesiel
# Účet MSOL_ musí mať nasledujúce oprávnenia na OU s používateľmi:
# - Reset Password
# - Write lockoutTime
# - Write pwdLastSet
# - Change Password (na každom potomkovom objekte)

# Kontrola event logu pre Password Writeback chyby
Get-EventLog -LogName Application -Source "PasswordResetService" -Newest 20 | Format-Table TimeGenerated, EntryType, Message -Wrap

3. Microsoft Entra Hybrid Join — Pripojenie zariadení do hybridného prostredia

Ako Hybrid Join vlastne funguje

Microsoft Entra Hybrid Join je proces, pri ktorom sa zariadenie pripojené do lokálneho AD súčasne zaregistruje aj v Entra ID. Vďaka tomu môžete na zariadenia spravované lokálnym AD a Group Policy uplatňovať aj cloudové politiky — Conditional Access, Intune compliance a podobne.

Celý proces prebieha v dvoch fázach:

  1. Registrácia v AD: Zariadenie vytvorí objekt Service Connection Point (SCP) a zaregistruje sa v lokálnom AD.
  2. Synchronizácia do Entra ID: Entra Connect synchronizuje počítačový objekt do cloudu, kde zariadenie dokončí registráciu získaním Primary Refresh Token (PRT).

Dôležité upozornenie: Microsoft Entra Cloud Sync nepodporuje Hybrid Join. Ak používate Cloud Sync namiesto klasického Entra Connect, Hybrid Join vám nebude fungovať. Toto je mimochodom jeden z najčastejších zdrojov zmätkov a tiketov na helpdesku — tak si to zapamätajte.

Diagnostika zlyhania Hybrid Join

Keď zariadenie nie je viditeľné v Entra ID portáli alebo jeho stav ukazuje „Pending", poďme sa na to pozrieť krok za krokom:

# Krok 1: Kontrola stavu registrácie zariadenia (spustiť na klientskom PC)
dsregcmd /status

# Dôležité sekcie výstupu:
# AzureAdJoined: YES (zariadenie je registrované v Entra ID)
# DomainJoined: YES (zariadenie je pripojené do lokálneho AD)
# DeviceAuthStatus: SUCCESS

# Krok 2: Kontrola SCP konfigurácie
dsregcmd /status | findstr /i "SCP"

# Krok 3: Kontrola SCP v Active Directory
# Spustiť na doménovom kontroléri alebo zariadení s RSAT nástrojmi
$scp = Get-ADObject -Filter 'name -eq "62a0ff2e-97b9-4513-943f-0d221bd30080"' -SearchBase "CN=Configuration,DC=yourdomain,DC=local" -Properties keywords, serviceBindingInformation
$scp | Select-Object keywords, serviceBindingInformation

Výstup dsregcmd /status obsahuje niekoľko kľúčových sekcií. Na diagnostiku Hybrid Join sa sústreďte hlavne na tieto:

  • Device State: Ukazuje AzureAdJoined a DomainJoined — obe musia byť YES.
  • SSO State: AzureAdPrt musí byť YES — to znamená, že zariadenie má platný Primary Refresh Token.
  • Diagnostic Data: Tu nájdete podrobné chybové hlásenia, ak niečo zlyhalo.

Najčastejšie problémy s Hybrid Join

Problém 1: Zariadenie sa nezobrazuje v Entra ID

Príčina býva zvyčajne banálna — OU obsahujúca počítačové objekty nie je zahrnutá v synchronizácii Entra Connect. Stáva sa to častejšie, než by ste čakali.

# Kontrola, ktoré OU sú synchronizované
Get-ADSyncConnectorRunStatus
# Otvorte Synchronization Service Manager a skontrolujte Connector Properties > Configure Directory Partitions

# Manuálne spustenie delta synchronizácie po pridaní OU
Start-ADSyncSyncCycle -PolicyType Delta

Problém 2: Stav zariadenia je „Pending"

Zariadenie bolo synchronizované do Entra ID, ale ešte nedokončilo druhú fázu registrácie. Zariadenie musí vedieť komunikovať s enterpriseregistration.windows.net a login.microsoftonline.com.

# Testovanie konektivity z klientskeho PC
Test-NetConnection enterpriseregistration.windows.net -Port 443
Test-NetConnection login.microsoftonline.com -Port 443
Test-NetConnection device.login.microsoftonline.com -Port 443

# Kontrola proxy nastavení, ktoré môžu blokovat komunikáciu
netsh winhttp show proxy

# Ak je potrebné nastaviť proxy pre systémový účet
netsh winhttp set proxy proxy-server="proxy.yourdomain.local:8080" bypass-list="*.yourdomain.local"

Problém 3: Chyba „Pre-check failed" v dsregcmd

Ak dsregcmd /status zobrazuje chyby v sekcii Diagnostic Data, môže za tým byť hneď niekoľko vecí:

  • Zastaraný certifikát zariadenia
  • Čas na zariadení sa výrazne líši od reálneho času (Time Skew — klasika)
  • Service Connection Point nie je správne nakonfigurovaný
  • Chýbajúca úloha plánovača (Scheduled Task) pre automatickú registráciu
# Kontrola a oprava plánovanej úlohy pre automatickú registráciu zariadenia
Get-ScheduledTask -TaskPath "\Microsoft\Windows\Workplace Join\" | Format-Table TaskName, State, LastRunTime

# Manuálne spustenie registračnej úlohy
Start-ScheduledTask -TaskPath "\Microsoft\Windows\Workplace Join\" -TaskName "Automatic-Device-Join"

# Kontrola certifikátu zariadenia
certutil -store MY | findstr /i "azure"

4. Conditional Access — Diagnostika prístupových politík

Čo sa mení v roku 2026

Od 27. marca 2026 Microsoft začne postupne sprísňovať vynucovanie Conditional Access politík. Konkrétne ide o zmeny v politikách s výnimkami zdrojov (resource exclusions) — politiky, ktoré predtým nevynucovali požiadavky pre niektoré zdroje, budú teraz tieto požiadavky plne vynucovať. Rollout pobeží postupne až do júna 2026.

Čo to znamená pre helpdesk? Pripravte sa na zvýšený počet tiketov od používateľov, ktorí sa „zrazu nemôžu prihlásiť" do aplikácií, ku ktorým mali predtým bezproblémový prístup. Príprava je naozaj kľúčová.

Diagnostika pomocou Sign-in Logs

Keď používateľ nahlási problém s prihlásením, prvý krok je vždy ten istý — pozrieť sa do prihlasovacích logov:

  1. Prihláste sa do Microsoft Entra admin center (entra.microsoft.com).
  2. Prejdite na Identity → Monitoring & health → Sign-in logs.
  3. Vyhľadajte používateľa podľa UPN alebo Display Name.
  4. Kliknite na konkrétny prihlasovací pokus a preskúmajte záložku Conditional Access.

Každá politika bude mať jeden z troch stavov:

  • Success: Politika sa uplatnila a podmienky boli splnené.
  • Failure: Politika sa uplatnila, ale podmienky neboli splnené — prihlásenie bolo zablokované.
  • Not Applied: Politika sa neuplatnila — buď pre daného používateľa neplatí, alebo podmienky neboli relevantné.

Použitie nástroja What If

Nástroj What If v Entra ID portáli je (podľa mňa) jeden z najužitočnejších nástrojov vôbec. Umožňuje simulovať prihlásenie a zobraziť, ktoré politiky by sa uplatnili:

  1. V Entra admin center prejdite na Protection → Conditional Access → Policies.
  2. Kliknite na What If.
  3. Vyplňte parametre: používateľ, aplikácia, platforma, poloha, riziková úroveň.
  4. Kliknite na What If pre zobrazenie výsledkov.

Toto je obzvlášť užitočné pred nasadením novej politiky — môžete overiť jej dopad bez toho, aby ste kohokoľvek zablokovali. Odporúčam to používať vždy.

Riešenie bežných problémov s Conditional Access

Problém: „Používateľ nemôže dokončiť MFA"

Od februára 2026 Microsoft nahradil tlačidlo „Revoke multifactor authentication sessions" novým „Revoke sessions", ktoré zneplatní všetky relácie používateľa. Ak ste toto použili, používateľ sa bude musieť kompletne znovu prihlásiť a nastaviť MFA. Pozor na to.

# PowerShell — revokovanie relácií používateľa cez Microsoft Graph
Connect-MgGraph -Scopes "User.ReadWrite.All"

# Zneplatnenie všetkých relácií
Revoke-MgUserSignInSession -UserId "[email protected]"

# Kontrola stavu MFA registrácie používateľa
Get-MgUserAuthenticationMethod -UserId "[email protected]" | Select-Object Id, @{N="Type";E={$_.AdditionalProperties."@odata.type"}}

Problém: „Zariadenie nie je compliant"

Conditional Access politiky často vyžadujú, aby zariadenie bolo v súlade (compliant) podľa Intune. Ak zariadenie nie je compliant, používateľ bude zablokovaný. Je to jednoduché, ale trvá chvíľu, kým to helpdesk diagnostikuje:

# Kontrola compliance stavu zariadenia cez Graph API
Connect-MgGraph -Scopes "DeviceManagementManagedDevices.Read.All"

$device = Get-MgDeviceManagementManagedDevice -Filter "userPrincipalName eq '[email protected]'"
$device | Select-Object DeviceName, ComplianceState, LastSyncDateTime, OperatingSystem

# Podrobnosti o zlyhávajúcich compliance politikách
Get-MgDeviceManagementManagedDeviceCompliancePolicyState -ManagedDeviceId $device.Id

Problém: „Legacy autentifikácia je blokovaná"

Mnoho organizácií zaviedlo politiku blokujúcu legacy autentifikáciu (Basic Authentication). To ovplyvňuje staršie poštové klienty, SMTP relay zariadenia a skripty. Toto je taká tichá bomba — funguje to roky a potom to zrazu niekto zablokuje.

# Identifikácia zariadení a aplikácií používajúcich legacy autentifikáciu
# V Sign-in logs filtrujte podľa Client App:
# - Exchange ActiveSync
# - IMAP4
# - POP3
# - SMTP
# - Other clients (legacy authentication)

# PowerShell — vyhľadanie legacy auth prihlásení cez Graph
Connect-MgGraph -Scopes "AuditLog.Read.All"

$legacySignIns = Get-MgAuditLogSignIn -Filter "clientAppUsed ne 'Browser' and clientAppUsed ne 'Mobile Apps and Desktop clients'" -Top 100
$legacySignIns | Group-Object ClientAppUsed | Sort-Object Count -Descending | Format-Table Name, Count

5. Bezpečnostné sprísnenia: SyncJacking prevencia

Čo je SyncJacking

SyncJacking je technika útoku, pri ktorej útočník zneužije mechanizmus hard match v Microsoft Entra Connect na prevzatie cloudových účtov. Útočník vytvorí alebo upraví objekt v lokálnom AD tak, aby sa „namapoval" na existujúci cloudový účet, čím ho efektívne prevezme. Znie to desivo? Áno, pretože to desivé je.

Microsoft implementoval nové ochranné mechanizmy a vynucovanie začne v marci 2026. Ak vaša organizácia legitímne používa hard match operácie (napríklad pri migrácii mailboxov), radšej sa pripravte vopred.

Príprava na vynucovanie

# Kontrola auditných logov pre hard match operácie
Connect-MgGraph -Scopes "AuditLog.Read.All"

$hardMatchEvents = Get-MgAuditLogDirectoryAudit -Filter "activityDisplayName eq 'Hard match user'" -Top 50
$hardMatchEvents | Select-Object ActivityDateTime, ActivityDisplayName, Result, @{N="Target";E={$_.TargetResources[0].UserPrincipalName}}

# Kontrola OnPremisesObjectIdentifier mapovania
Get-MgUser -Filter "onPremisesSyncEnabled eq true" -Property DisplayName, UserPrincipalName, OnPremisesImmutableId |
    Where-Object { $_.OnPremisesImmutableId } |
    Select-Object DisplayName, UserPrincipalName, OnPremisesImmutableId -First 20

Ak vynucovanie zablokuje operáciu, v synchronizačných logoch uvidíte chybovú hlášku o zablokovaní hard match. V takom prípade:

  1. Skontrolujte mapovanie OnPremisesObjectIdentifier pre dotknuté objekty.
  2. Overte v auditných logoch, či nedošlo k neoprávnenej zmene.
  3. Ak ide o legitímnu operáciu, použite odporúčaný postup mapovania cez ImmutableId.

6. Jailbreak a root detekcia v Microsoft Authenticator

Nová funkcia od februára 2026

Od februára 2026 Microsoft zavádza detekciu jailbreaku a rootovania zariadení v aplikácii Microsoft Authenticator. Ak je zariadenie rootované (Android) alebo jailbreaknuté (iOS), prihlasovacie údaje uložené v Authenticator jednoducho prestanú fungovať.

Pre helpdesk to znamená nový typ tiketu: „Authenticator mi prestal fungovať." Keď sa vám takýto tiket objaví, postupujte takto:

  1. Opýtajte sa používateľa, či vykonával nejaké úpravy na svojom zariadení (jailbreak, root, custom ROM).
  2. Ak áno, informujte ho o novej bezpečnostnej politike.
  3. Ponúknite alternatívne metódy MFA (SMS, e-mail, FIDO2 kľúč, hardware token).
  4. Ak ide o firemné zariadenie, eskalujte na tím mobilnej správy.
# Kontrola registrovaných autentifikačných metód používateľa
Connect-MgGraph -Scopes "UserAuthenticationMethod.Read.All"

$methods = Get-MgUserAuthenticationMethod -UserId "[email protected]"
$methods | ForEach-Object {
    $type = $_.AdditionalProperties."@odata.type"
    switch ($type) {
        "#microsoft.graph.microsoftAuthenticatorAuthenticationMethod" {
            Write-Host "Microsoft Authenticator: $($_.AdditionalProperties.displayName)"
        }
        "#microsoft.graph.phoneAuthenticationMethod" {
            Write-Host "Telefón: $($_.AdditionalProperties.phoneNumber)"
        }
        "#microsoft.graph.fido2AuthenticationMethod" {
            Write-Host "FIDO2: $($_.AdditionalProperties.model)"
        }
        default { Write-Host "Iná metóda: $type" }
    }
}

7. Migrácia z Entra Connect na Cloud Sync

Prečo zvážiť migráciu

Microsoft aktívne tlačí migráciu z klasického Entra Connect Sync na Cloud Sync. A treba povedať, že Cloud Sync má svoje výhody:

  • Žiadna potreba dedikovaného servera: Agent beží ako ľahký proces na ľubovoľnom serveri pripojenom do domény.
  • Vysoká dostupnosť: Môžete nasadiť viacero agentov pre redundanciu.
  • Konfigurácia v cloude: Všetky nastavenia sa spravujú cez Entra ID portál.
  • Automatické aktualizácie: Agent sa aktualizuje sám — žiadne ručné patchovanie.

Avšak (a toto je dôležité), Cloud Sync má aj obmedzenia:

  • Nepodporuje Hybrid Join — ak ho používate, musíte zostať na Entra Connect alebo použiť hybridnú konfiguráciu.
  • Nepodporuje Password Writeback v plnej miere (v čase písania tohto článku).
  • Obmedzené filtrovanie — nemôžete filtrovať podľa skupín, iba podľa OU a atribútov.
  • Nepodporuje Exchange Hybrid writeback.

Postup migrácie

# Krok 1: Kontrola kompatibility prostredia
# Overte, či vaše prostredie nepoužíva funkcie nepodporované Cloud Sync
Get-ADSyncGlobalSettings | Select-Object -ExpandProperty Parameters | Format-Table Name, Value

# Krok 2: Kontrola aktívnych synchronizačných pravidiel
$customRules = Get-ADSyncRule | Where-Object { $_.ImmutableTag -ne "Microsoft.InfAD.Exchange.2010" -and $_.ImmutableTag -ne "" }
Write-Host "Počet vlastných pravidiel: $($customRules.Count)"

# Krok 3: Inštalácia Cloud Sync agenta
# Stiahnite agenta z Entra ID portálu:
# Entra admin center > Hybrid management > Microsoft Entra Connect > Cloud Sync > Agent download

# Krok 4: Overenie funkčnosti agenta
Get-Service "AADConnectProvisioningAgent" | Select-Object Name, Status, StartType

8. Praktické skripty pre helpdesk — každodenná diagnostika

Univerzálny diagnostický skript pre hybridnú identitu

Tento skript je niečo, čo by mal mať každý helpdesk tím po ruke. Uložte si ho a používajte pri každom tikete súvisiacom s hybridnou identitou — ušetrí vám kopu času:

# HybridIdentityDiag.ps1 — Diagnostický skript pre hybridnú identitu
param(
    [Parameter(Mandatory=$true)]
    [string]$UserPrincipalName
)

Write-Host "========================================" -ForegroundColor Cyan
Write-Host "Diagnostika hybridnej identity" -ForegroundColor Cyan
Write-Host "Používateľ: $UserPrincipalName" -ForegroundColor Cyan
Write-Host "Dátum: $(Get-Date -Format 'yyyy-MM-dd HH:mm:ss')" -ForegroundColor Cyan
Write-Host "========================================" -ForegroundColor Cyan

# 1. Kontrola používateľa v lokálnom AD
Write-Host "`n[1/5] Kontrola lokálneho AD..." -ForegroundColor Yellow
try {
    $adUser = Get-ADUser -Filter "UserPrincipalName -eq '$UserPrincipalName'" -Properties *
    if ($adUser) {
        Write-Host "  Nájdený: $($adUser.DisplayName)" -ForegroundColor Green
        Write-Host "  Enabled: $($adUser.Enabled)"
        Write-Host "  PasswordExpired: $($adUser.PasswordExpired)"
        Write-Host "  PasswordLastSet: $($adUser.PasswordLastSet)"
        Write-Host "  LockedOut: $($adUser.LockedOut)"
        Write-Host "  OU: $($adUser.DistinguishedName)"
    } else {
        Write-Host "  Používateľ nenájdený v lokálnom AD!" -ForegroundColor Red
    }
} catch {
    Write-Host "  Chyba pri dotazovaní AD: $_" -ForegroundColor Red
}

# 2. Kontrola stavu synchronizácie
Write-Host "`n[2/5] Kontrola synchronizácie..." -ForegroundColor Yellow
try {
    $scheduler = Get-ADSyncScheduler
    Write-Host "  SyncEnabled: $($scheduler.SyncCycleEnabled)"
    Write-Host "  NextSync: $($scheduler.NextSyncCycleStartTimeInUTC) UTC"
    Write-Host "  LastSync: $($scheduler.LastSyncCycleStartTimeinUTC) UTC"
} catch {
    Write-Host "  Entra Connect nie je dostupný na tomto serveri" -ForegroundColor Red
}

# 3. Kontrola v Entra ID cez Graph
Write-Host "`n[3/5] Kontrola v Entra ID..." -ForegroundColor Yellow
try {
    Connect-MgGraph -Scopes "User.Read.All" -NoWelcome
    $mgUser = Get-MgUser -Filter "userPrincipalName eq '$UserPrincipalName'" -Property DisplayName, AccountEnabled, OnPremisesSyncEnabled, OnPremisesLastSyncDateTime
    if ($mgUser) {
        Write-Host "  Nájdený v Entra ID: $($mgUser.DisplayName)" -ForegroundColor Green
        Write-Host "  AccountEnabled: $($mgUser.AccountEnabled)"
        Write-Host "  OnPremSyncEnabled: $($mgUser.OnPremisesSyncEnabled)"
        Write-Host "  LastSync: $($mgUser.OnPremisesLastSyncDateTime)"
    } else {
        Write-Host "  Používateľ nenájdený v Entra ID!" -ForegroundColor Red
    }
} catch {
    Write-Host "  Chyba pri dotazovaní Entra ID: $_" -ForegroundColor Red
}

# 4. Kontrola MFA metód
Write-Host "`n[4/5] Kontrola MFA metód..." -ForegroundColor Yellow
try {
    $methods = Get-MgUserAuthenticationMethod -UserId $UserPrincipalName
    Write-Host "  Počet registrovaných metód: $($methods.Count)"
    foreach ($m in $methods) {
        $type = $m.AdditionalProperties."@odata.type" -replace "#microsoft.graph.", ""
        Write-Host "  - $type"
    }
} catch {
    Write-Host "  Chyba pri kontrole MFA: $_" -ForegroundColor Red
}

# 5. Kontrola prihlásení
Write-Host "`n[5/5] Posledné prihlásenia..." -ForegroundColor Yellow
try {
    $signIns = Get-MgAuditLogSignIn -Filter "userPrincipalName eq '$UserPrincipalName'" -Top 5
    foreach ($s in $signIns) {
        $status = if ($s.Status.ErrorCode -eq 0) { "OK" } else { "FAIL ($($s.Status.ErrorCode))" }
        Write-Host "  $($s.CreatedDateTime) | $status | $($s.AppDisplayName) | $($s.ClientAppUsed)"
    }
} catch {
    Write-Host "  Chyba pri kontrole prihlásení: $_" -ForegroundColor Red
}

Write-Host "`n========================================" -ForegroundColor Cyan
Write-Host "Diagnostika dokončená" -ForegroundColor Cyan
Write-Host "========================================" -ForegroundColor Cyan

Skript pre hromadnú kontrolu stavu synchronizácie

Ak chcete mať prehľad o synchronizácii celej organizácie, tento skript vám pomôže identifikovať problémové účty:

# BulkSyncCheck.ps1 — Kontrola synchronizácie pre celú organizáciu
Connect-MgGraph -Scopes "User.Read.All" -NoWelcome

# Získanie všetkých synchronizovaných používateľov
$syncUsers = Get-MgUser -Filter "onPremisesSyncEnabled eq true" -All -Property DisplayName, UserPrincipalName, OnPremisesLastSyncDateTime, AccountEnabled

# Identifikácia používateľov, ktorí neboli synchronizovaní viac ako 24 hodín
$threshold = (Get-Date).AddHours(-24)
$staleUsers = $syncUsers | Where-Object { $_.OnPremisesLastSyncDateTime -lt $threshold }

if ($staleUsers.Count -gt 0) {
    Write-Host "VAROVANIE: $($staleUsers.Count) používateľov nebolo synchronizovaných viac ako 24 hodín!" -ForegroundColor Red
    $staleUsers | Select-Object DisplayName, UserPrincipalName, OnPremisesLastSyncDateTime | Format-Table -AutoSize
} else {
    Write-Host "Všetci používatelia sú synchronizovaní." -ForegroundColor Green
}

# Štatistiky
Write-Host "`nŠtatistiky:"
Write-Host "  Celkový počet sync používateľov: $($syncUsers.Count)"
Write-Host "  Povolené účty: $(($syncUsers | Where-Object AccountEnabled).Count)"
Write-Host "  Zakázané účty: $(($syncUsers | Where-Object { -not $_.AccountEnabled }).Count)"

9. Najlepšie postupy pre helpdesk tím

Eskalačná matica

Pre efektívne riešenie problémov s hybridnou identitou odporúčam nastaviť si jasnú eskalačnú maticu. Tu je návrh, ktorý funguje v praxi:

  • Level 1 (Helpdesk): Reset hesla, odomknutie účtu, kontrola základného stavu synchronizácie, overenie MFA metód, kontrola dsregcmd /status na klientskom zariadení.
  • Level 2 (Systémová administrácia): Diagnostika synchronizačných chýb na Entra Connect serveri, analýza Sign-in logov, riešenie Conditional Access problémov, správa zariadení v Intune.
  • Level 3 (Identitný tím / Architektúra): Úprava synchronizačných pravidiel, zmeny Conditional Access politík, migrácia na Cloud Sync, plánovanie infraštruktúrnych zmien.

Kontrolný zoznam pre bežné tikety

„Nemôžem sa prihlásiť" — diagnostický postup:

  1. Overte, či je účet povolený v lokálnom AD (Get-ADUser).
  2. Skontrolujte, či nie je účet zamknutý (LockedOut vlastnosť).
  3. Overte, či heslo nie je expirované.
  4. Skontrolujte stav synchronizácie na Entra Connect serveri.
  5. Preskúmajte Sign-in logy v Entra ID portáli — čo presne zlyháva?
  6. Skontrolujte Conditional Access politiky cez What If nástroj.
  7. Overte stav zariadenia — je Hybrid Joined? Je compliant?
  8. Skontrolujte MFA metódy — sú aktívne a funkčné?

„Zmena hesla nefunguje v cloude":

  1. Skontrolujte stav PHS na Entra Connect serveri.
  2. Overte, že servisný účet (MSOL_) je aktívny a nemá expirované heslo.
  3. Skontrolujte event log na synchronizačnom serveri.
  4. Manuálne vyvolajte synchronizáciu hesla pre daného používateľa.
  5. Ak používate SSPR s Password Writeback, skontrolujte oprávnenia servisného účtu na OU.

Monitorovanie a prevencia

Namiesto toho, aby ste stále hasili požiare, nastavte si proaktívny monitoring. Verťe mi, oplatí sa to:

  • Entra ID Health: Sledujte Entra Connect Health dashboard pre včasné varovania o synchronizačných problémoch.
  • Alerting: Nastavte upozornenia na zlyhanie synchronizačných cyklov, vysoký počet chýb exportu a neúspešné prihlasovacie pokusy.
  • Pravidelný audit: Mesačne kontrolujte neaktívne synchronizované účty, staré zariadenia v Entra ID a nepoužívané Conditional Access politiky.
  • Dokumentácia: Udržiavajte aktuálnu dokumentáciu synchronizačnej topológie, CA politík a eskalačných postupov.

Záver: Pripravte sa na zmeny v roku 2026

Hybridná identita v roku 2026 prechádza naozaj významnými zmenami. Tu je súhrn kľúčových termínov, ktoré si musíte zapamätať:

  • Február 2026: Zmena revokovania MFA relácií, zavedenie jailbreak/root detekcie v Authenticator.
  • Marec 2026: Začiatok vynucovania SyncJacking prevencie a sprísneného Conditional Access.
  • Jún 2026: Dokončenie rolloutu sprísneného Conditional Access.
  • September 2026: Deadline pre aktualizáciu Entra Connect na verziu 2.5.79.0+.
  • Október 2026: Koniec podpory PIM Iteration 2 (beta) API endpointov.

Ak si z tohto článku zoberú helpdesk tímy jednu vec, nech je to toto: nečakajte na poslednú chvíľu. Otestujte svoje prostredie, aktualizujte Entra Connect, preverte Conditional Access politiky a vyškoľte svoj tím.

Problémy s hybridnou identitou sú vždy urgentné — keď sa používateľ nemôže prihlásiť, nemôže pracovať. A keď nemôže pracovať, volá helpdesk. Používajte diagnostické skripty z tohto článku, nastavte si proaktívny monitoring a vytvorte jasnú eskalačnú maticu. Váš budúci ja vám poďakuje.

O Autorovi Editorial Team

Our team of expert writers and editors.