December 1, 2020
  • 11:10 pm Microsoft 365 – Salasanan resetointi itsepalveluna (SSPR)
  • 9:12 pm Exchange Online – Roskapostin estäminen top-level domainin (TLD) perusteella
  • 11:26 pm Windows 10 – Fiddler Web Debugger Proxyn asennus ja käyttöönotto
  • 3:00 am Microsoft 365 -käyttäjätilin kaappaamiseen reagointi – Tilanteen normalisointi
  • 12:40 am Microsoft 365 -käyttäjätilin kaappaamiseen reagointi – Tilin turvaaminen

Viankuvaus:

Outlook tai Microsoft Teams antaa ohjelman käynnistyksen yhteydessä TPM-turvapiiriin viittavaan virheilmoituksen. Kuitenkin Windowsin TPM -turvapiirin hallinta (tpm.msc) osoittaa TPM-piirin olevan kunnossa.

Virheilmoitus sisältää yleensä virhekoodin C0090016 tai 80090016.

Tapahtui virhe

Tietokoneesi TPM-turvapiiri on vikatilassa. Jos tämä virhe toistuu, ota yhteyttä järjestelmänvalvojaasi ja kerro virhekoodi C0090016.

Lisätietoja: https://www.microsoft.com/wamerrors

Ongelman lisätiedot

Virhekoodi: C0090016
Korrelaatiotunnus: <yksilöllinen tunnus>
Aikaleima: <vuosi-kuukausi-päivä-kellonaika>
Lisätietoja: https://www.microsoft.com/wamerrors
Palvelimen sanoma: Unknown error code: 0xc0090016

tai

Tapahtui virhe

Tietokoneesi TPM-turvapiiri on vikatilassa. Jos tämä virhe toistuu, ota yhteyttä järjestelmänvalvojaasi ja kerro virhekoodi 80090016.

Lisätietoja: https://www.microsoft.com/wamerrors

Ongelman lisätiedot

Virhekoodi: 80090016
Korrelaatiotunnus: <yksilöllinen tunnus>
Aikaleima: <vuosi-kuukausi-päivä-kellonaika>
Lisätietoja: https://www.microsoft.com/wamerrors
Palvelimen sanoma: Avainsarjaa ei ole.

Olen havainnut myös kolmannen virhekoodin, josta minulla ei ole kuvankaappausta. Jos tarkastellaan virheilmoitusten osoittamaa Microsoftin dokumentaatiosivua, tunnistetaan sieltä ainakin toinen noista virheilmoituksista “80090016“. Dokumentaatiossa sanotaan seuraavasti:

NTE_BAD_KEYSET (0x80090016/-2146893802)

Reason: TPM operation failed or was invalid
Resolution: Likely due to a bad sysprep image. Ensure the machine from which the sysprep image was created is not Azure AD joined, hybrid Azure AD joined, or Azure AD registered.

Mitä tuolla siis tarkoitetaan? Microsoft esittää, että vika voi olla seurausta huonosta sysprep-näköistiedostosta. Sysprep on Microsoftin työkalu, jota käytetään käyttöjärjestelmän näköistiedoston luomiseen, jotta sitä voidaan levittää verkon laitteille asennusta varten. Se poistaa käyttöjärjestelmästä sellaisia yksilöllisiä tietoja, joita ei haluta kloonattavan kohdelaitteille. Tästä syystä Microsoft pyytää varmistamaan, että se laite, josta näköistiedosto otettiin sysprep-työkalulla, ei ollut Azure AD -rekisteröity tai -liitetty. Liitoksen yksilöllisiä tietoja ei kuitenkaan haluta muille laitteille, joille tullaan tekemään omat liitoksensa.

Entä, jos kyseessä on laite, jonka käyttöjärjestelmään ei ole koskettu, eikä sitä ole provisioitu mukautetusta näköistiedostosta?


Taustatietoa vian ymmärtämiseksi:

Tätä voi esiintyä kaikilla Windows 10 -laitteilla, jotka ovat joko Azure AD-rekisteröityjä (työ- tai koulutili lisätty Windowsiin), Azure AD -liitettyjä tai Hybrid-Azure AD -liitettyjä. Vika ei tyypillisesti viittaa mihinkään fyysiseen ongelmaan TPM-turvapiirissä tai sen firmwareen, vaan pikemminkin ongelmaan Azure AD:n todennuksen kanssa. TPM-turvapiirin firmware-päivitys voi kuitenkin auttaa ennaltaehkäisemään ongelmaa, jos vika on toistuvaa.

Laitteiden rekisteröinti tai liittäminen Azure AD:seen mahdollistaa Seamless Sign-on (SSO) -tunnistautumisen pilviresursseihin. Tämä tarkoittaa sitä, ettei käyttäjien tarvitse syöttää tunnuksiaan jatkuvasti eri palveluihin, vaan kirjautuminen tapahtuu automaattisesti Azure AD -liitetyllä tai rekisteröidyllä laitteella. Todennuksessa käytetään Primary Refresh Tokenia (PRT), joka on päätekijä SSO:n mahdollistamisessa.

Modernia tunnistautumista käyttävät Office-sovellukset todentavat oletuksena Active Directory Authentication Librarylla (ADAL). 16.0.7967 tai uudempaa versiota oleva Office käyttää Web Account Manageria (WAM) sisäänkirjautumiseen kaikilla Windows 10 -laitteilla, jotka ovat vähintään käyttöjärjestelmäversiossa 15063.138. WAM tai sen Azure AD WAM -lisäosa on Office-ohjelmien osalta se komponentti, joka käsittelee Primary Refresh Tokenia todennusta varten (ns. default token broker) ja mahdollistaa SSO-kirjautumisen. PRT:tä käytetään myös muiden access ja refresh tokeneiden pyytämiseksi ja päivittämiseksi. Tätä tapahtuu taustalla jatkuvasti.

PRT myönnetään Windows 10:n laitteelle Azure AD -rekisteröinnin tai -liitoksen yhteydessä. Rekisteröinnin yhteydessä generoituu kaksi salausavainparia, joiden yksityiset avaimet ovat sidottuja laitteen TPM-turvapiiriin. Julkiset avaimet taas tallentuvat Azure AD:seen, joka määrittää Windows 10:n laitteelle myös salatun istuntoavaimen PRT:n määrityksen yhteydessä. Sen salaus voidaan purkaa vain toisella niistä TPM-piiriin tallentuneiden avainparien yksityisellä avaimella.

Kaikki token requestit  Azure AD:seen allekirjoitetaan aina istuntoavaimella TPM-turvapiirin kautta. Jos token requestin allekirjoittaminen tai istuntoavaimen salauksen purkaminen epäonnistuu jostain syystä, saattavat Office-ohjelmat esittää viankuvauksen mukaisia virheilmoituksia.

Näistä syistä TPM-piiri on oleellinen myös Office-ohjelmien todennuksen osalta.


Vian korjaaminen:

Tällaisia tapauksia on tullut vastaan useita ja virhekoodit voivat vaihdella. Tietokoneen pelkkä uudelleenkäynnistys on harvoin korjannut ongelmaa, yhtä tapausta lukuun ottamatta. Jos vika on toistuvaa, kattavin korjaus lienee TPM-turvapiirin firmwaren päivittäminen ja Azure AD:n uudelleenliitos. Azure AD:n audit- ja kirjautumislokeista voi myös yrittää etsiä virheilmoituksen antamaa korrelaatio-tunnusta. Lisäksi kannattaa tarkistaa Windowsin Tapahtumienvalvonnasta: Sovellus- ja palvelulokit > Microsoft > Windows > AAD > Operational lisätietoja varten.

Omien havaintojeni perusteella vika on kuitenkin hyvin nopeasti korjattavissa pysyvästi ainakin 80%:ssa tapauksissa seuraavin toimin, eikä se edellytä Azure AD -uudelleenliitosta tai työtilin -lisäystä.

Tyypillisesti riittää, että nimetään Resurssienhallinnassa kansio:

C:\Users\%username%\AppData\Local\Packages\Microsoft.AAD.BrokerPlugin_cw5n1h2txyewy

.old -päätteiseksi:

C:\Users\%username%\AppData\Local\Packages\Microsoft.AAD.BrokerPlugin_cw5n1h2txyewy.old

Tuo kansio liittyy sen Azure AD WAM -lisäosan toimintaan, joka hallinnoi token requesteja ja käsittelee PRT:tä. Uudelleennimeäminen ei kuitenkaan tyypillisesti onnistu suoraan, sillä kansio on svchost.exe -prosessin käytössä. Prosessia ei kannata tappaa Tehtävienhallinnasta, sillä se vastaa useista muista tärkeistä taustapalveluista. Tappaminen johtaisi myös todennäköisesti mahdollisen etätukiohjelman yhteyden kaatumiseen.

Paras tapa on mennä Resurssienvalvontaan ja navigoida Suoritin-välilehdelle. Sieltä voi tarkastella suorittimen prosesseihin liittyviä kahvoja. Kirjoitetaan hakuun kansion sijainti, mutta huomioidaan, ettei ympäristömuuttujat toimi haussa, eli korvataan %username% -muuttuja komentokehotteen “whoami”-komennon tuloksella:

C:\Users\%username%\AppData\Local\Packages\Microsoft.AAD.BrokerPlugin_cw5n1h2txyewy

Resurssienvalvonta listaa suoraan kaikki kansiota käyttävät näköistiedostot, jolloin saadaan tarkka prosessi ID (PID), joka voidaan tappaa. Klikataan hiiren oikealla painikkeella löytynyttä näköistiedostoa “svchost.exe (NetworkService -p)” ja valitaan “Lopeta prosessi“.

Kun prosessi on lopetettu, kansion uudelleennimeämisen pitäisi onnistua. Uudelleennimetään kansio yllä mainittujen ohjeiden mukaisesti .old -päätteiseksi. Käynnistetään lopulta tietokone uudelleen.

Kirjaudutaan normaalisti takaisin tietokoneelle ja avataan se ongelmallinen Office-sovellus, jossa ongelma tuli alun perin vastaan. Noin 30% tapauksista virheilmoitusta ei tule enää uudelleen näkyviin, ja lopuissa virheilmoitus tulee vielä kerran. Tässä voi vaikuttaa se, onko käyttäjä kirjautunut koneelle pilvitoimialueen tunnuksellaan, vai Windows Hello for Businessillä, mutta en ole pystynyt todentamaan asiaa. Tällöin painetaan kuitenkin virheilmoituksessa “Jatka“, jonka jälkeen ohjelma todentaa normaalisti, yhdistää palveluun ja korjaa työtilin ongelmat. Joskus käyttäjä saattaa saada ilmoituksen työtilin ongelmista välittömästi työpöydälle kirjautuessaan, jolloin Windows 10:n ehdottaa suoraan tilin korjaamista kirjautumalla sisään uudelleen. Kirjaudutaan kaikkiin Windowsin ja Office-ohjelmien tunnistetietokysyihin, joissa Microsoft 365 -tunnuksia pyydetään.

Virheilmoitusta ei pitäisi enää noiden toimien jälkeen tulla takaisin. Jos aihe kiinnostaa, niin suosittelen tutustumaan seuraaviin Microsoftin dokumentaatioihin:

Troubleshooting hybrid Azure Active Directory joined devices.
URL:  https://docs.microsoft.com/en-us/azure/active-directory/devices/troubleshoot-hybrid-join-windows-current

What is device identity?
URL: https://docs.microsoft.com/en-us/azure/active-directory/devices/overview

Connection issues in sign-in after update to Office 2016 build 16.0.7967 on Windows 10.
URL: https://docs.microsoft.com/en-us/office365/troubleshoot/authentication/connection-issue-when-sign-in-office-2016

What is a Primary Refresh Token?
URL:  https://docs.microsoft.com/en-us/azure/active-directory/devices/concept-primary-refresh-token


TÄTÄ DOKUMENTTIA SAA KOPIOIDA JA MUOKATA GNU GENERAL PUBLIC LICENSE (VERSIO 3 TAI UUDEMPI) MUKAISESTI. HTTP://WWW.GNU.ORG/LICENSES/GPL.HTML
MARKUS PYHÄRANTA
Markus Pyhäranta

RELATED ARTICLES
LEAVE A COMMENT