Telia Inmics-Nebula on yhdistynyt Telia Finlandiin ja Telia Cygateen 31.10.2023 – tulemme sulkemaan Telia Inmics-Nebulan sivuston loppuvuoden aikana.
Windows Autopilot - vianselvitys

Työskentelen Telia Inmics-Nebulalla ratkaisuarkkitehtinä päätelaitehallinnan parissa. Teen nykyisin pääosin Intune -käyttöönottoja asiakkaillemme. Minulla on yli 10 vuoden tausta SCCM:n, eli ConfigMgr:n kanssa, ja pilveistymisen myötä olen pari vuotta sitten laajentanut osaamistani myös Intunen ja Autopilotin puolelle. Olen syväosaaja ja käytän paljon aikaa teknologioiden hands-on opiskeluun sekä testaamiseen.
Tässä blogissa keskityn Windows Autopilot -ongelmanratkaisuun. Aloitan perusteista ja jatkan syvemmälle ja annan samalla konkreettisia vinkkejä. Autopilotin vianmääritys on tänä päivänä vielä lasten kengissä, eikä Autopilotista löydy metodeja, jotka olisivat yhtä hyviä kuin SCCM:ssä. Toivottavasti tämä julkaisu auttaa teknisiä lukijoita löytämään ja hyödyntämään parempia keinoja ja työkaluja vianratkaisuun.
Tunnettujen tapojen haasteet
• Event Viewerin MSIINSTALLER source ei aina näytä sovelluksen asennuksen kaatumista, olen useimman kerran törmännyt siihen, että tästä ei saa mitään irti.
• Yksittäisen laitteen monitorointi näkymä Intunen konsolissa ja sieltä ”Managed Apps” luettelo ei pysy perässä asennuksen kanssa. Esimerkiksi, jos autopilot ESP-näkymässä näet 7/12 sovelluksen kohdalla virheen, niin Managed Apps esittää kaikille sovelluksille Waiting for Status, jolloin siitä ei voi päätellä, mikä näistä 12 sovelluksesta on kaatanut autopilot-asennuksen. Jos ohitat virheen ESPssä ja kirjaudut koneeseen, saattaa olla, että kaikki sovellukset asentuvatkin työpöydällä, ja varsinainen syy ESP sivun kaatumiseen jää selvittämättä.
• IntuneManagementExtension.log -tiedosto on täynnä dataa kaikista erilaisista MDM palveluista, ja pelkästään sovellusasennusprosessin erotteleminen siitä on melko vaikeaa. Juuri tähän aiheeseen tämä artikkelini tulee keskittymään.
• MDM Diagnostics tiedostojen keräily on Microsoftin suositus edetä vianratkaisussa, mutta sen tarjoaman datan analysointi itsenäisesti on melko vaikeata, ja saattaa olla ajanhaaskausta.
Pikavinkit
Ennen kun mennään asennuslokien tulkinnan tasolle, haluaisin antaa muutaman vinkin. Näiden avulla voit parantaa mahdollisuuksia, ettei Autopilot ESP asennusprosessi kaadu herkästi.
• Käytä Detection Methodeina hakemistoja, tiedostoja tai rekisteriarvoja MSI product -koodien sijaan. Olen lukuisia kertoja törmännyt tähän (jopa SCCM aikoina) että MSI-tuotekoodi generoituu liian hitaasti joidenkin sovelluksien kohdalla. Sovelluksen asennusprosessi kaatuu tämän takia, koska detection methodissa on määritelty vain MSI product code.
• Muuta Intunessa kaikki exit codet success:ksi soft ja hard rebootin sijaan. Tämä toki kannattaa tehdä vain ja ainoastaan silloin, jos olet täysin varma, että sovellus asentuu onnistuneesti ilman uudelleenkäynnistyksen tarvetta.
• Windows Autopilot Diagnostics powershell-skripti saattaa auttaa sinua ymmärtämään paremmin, mihin Autopilot on kaatunut, mitkä sovellukset ovat jo asentuneet ja mitkä ei. Linkki skriptiin .
Artikkelin esivaatimukset vianmääritykselle
• Jos et halua sokaistua .log tiedostojen lukemisella Notepadilla, suosittelen vahvasti, että otat käyttöösi cmtrace.exe tai vastaavan lokianalytiikan työkalun lokitiedoston läpikäynnille. Voit käyttää pelkän Intunen kanssa cmtracea, joka on SCCM:n työkalu, sillä molemmat teknologiat kuuluvat samaan tuoteperheeseen (Microsoft Endpoint Manager).
• Cmtrace.exe kannattaa paketoida Win32 applikaatioksi Intuneen, ja liittää mukaan Autopilot asennusryhmään. Silloin se on heti saatavilla, kun virhetilanne tulee eteen. Itse tein tämän sovelluspaketin kopioimalla cmtrace.exe:n suoraan C:\Windows alle.
Vianselvitys – näin minä sen teen
Osa teistä lukijoista varmasti tietää, että Shift+F10 kombinaatiolla saa komentorivin auki Autopilotin aikana. Komentorivillä pääsee väliin tekemään erilaisia asioita, kuten MMC-konsolin avaaminen ja sieltä vaikka Event Viewer tai esim. skriptien asennukset.
1. Avaa ensin Event Viewer \ Windows Logs \ Application näkymä, ja filtteröi siihen lähteeksi MsiInstaller. Tämä antaa sinulle hyvät perustiedot, mihin aikaan MDM rajapinta otettiin käyttöön ja milloin ensimmäinen asennus alkoi. Kellonajan näkeminen ja seuraaminen auttaa havainnollistamaan, milloin virhe mahdollisesti tapahtui. Tulet tarvitsemaan tätä tietoa katsoessasi muita lokeja.
2. Cmtrace.exe työkalulla saat varsinaisen asennuslokin auki. Se sijaitsee lokaatiossa C:\ProgramData\Microsoft\IntuneManagementExtension\Logs\IntuneManagementExtension.log
Itse tykkään pitää molemmat lokinäkymät auki samalla näytöllä, jotta voin seurata ja vertailla, mitä milloinkin missäkin tapahtui.
3. Kuten aikaisemmin mainitsin, valitettavasti IntuneManagementExtention.log sisältää kaikkien eri toiminnallisuuksien ja palveluiden tapahtumat samassa lokitiedostossa. Se on valtava, ja lähes mahdoton käydä kokonaan läpi. Tähän haasteeseen tarjoamani ”pihvi” onkin kertoa tietyt avainsanat, joita kannattaa lokista etsiä käyttämällä Cmtracen hakua.
• Sequence avainsanalla näet, minkä asennusjärjestyksen Autopilot on arponut sovelluksille.
• (name= tai lpExitCode avainsanat paljastavat sinulle juuri ne rivit, joissa sovellus on asentumassa. Alla tarjoan vielä koostetusti kaikki ne rivit, jotka liittyvät Win32 apin asennukseen Autopilotissa. Tavallisesti nämä rivit olisivat pitkin poikin lokia, mutta tässä ne ovat kaikki peräjälkeen ja voit yrittää hyödyntää tätä tietoa seuraavassa ongelmanratkaisussa.
[Win32App] #################### Start processing SelectedApps ####################
[Win32App] In EspPhase: DeviceSetup
[Win32App] Got 9 Win32App(s)
[Win32App] ExecManager: processing targeted app (name='7-zip x64 19.00', id='047f275d-a240-49b5-9bc0-c2550ab21f83') with intent=3, appApplicabilityStateDueToAssginmentFilters= for user session 0
[Win32App] ===Step=== InstallBehavior RegularWin32App, Intent 3, UninstallCommandLine Noneed.cmd
msiexec.exe /i "7-zip.msi" /quiet /norestart
[Win32App] Installation is done, collecting result
[Win32App] lpExitCode 0
[Win32App] lpExitCode is defined as Success
[Win32App] Got installationState: Completed
Kuvia voit suurentaa käyttämällä selaimen zoomausta.
You can read blog also in English (LinkedIn)