Minecraft: Education Edition -asennusvaihtoehdot koulun koneisiin

Minecraft Education Edition on suosittu ohjelma pelilliseen oppimiseen kouluympäristöissä. Minecraftin käyttöoikeus sisältyy uuteen Microsoft 365 Education -sopimusmalliin, joten sovellusta tullaan asentamaan enemmän kouluympäristöihin nyt ja tulevaisuudessa.

Tässä blogissa käyn läpi eri vaihtoehtoja Minecraftin käyttöönottoon koulukoneille.

Aktivoi Store for Education (/Business)

Ensimmäisenä aktivoidaan koulun pilviympäristöön Store for Education, jos sitä ei ole vielä aktivoitu. Store for Educationin kautta nähdään mm. Minecraftin lisenssien tilanne ja samalla saamme työasemien Store-sovellukseen koulun oman kaupan näkyviin.

Ensimmäisellä kerralla kirjaudu palveluun sisään Office365-tenantin Global Administrator -oikeuksilla, jotta voit hyväksyä palvelun käyttöehdot sekä aktivoida itse Store for Education -palvelun.
https://educationstore.microsoft.com/fi-fi/store

 Kirjaudu sisään Global Administrator -oikeuksilla ensimmäisellä kerralla...

Kirjaudu sisään Global Administrator -oikeuksilla ensimmäisellä kerralla...

Store for Educationissa on valmiina muutamia sovelluksia ja Minecraft on yksi näistä sovelluksista

 Voit myös edetä Koulun nimen kohdalta sovelluslistaukseen

Voit myös edetä Koulun nimen kohdalta sovelluslistaukseen

 Täältä varmistamme, että meillä on käytettävissä Minecraft: Education Edition -lisenssejä. Kolmen pisteen kautta löytyy lisää valintoja konfigurointiin.

Täältä varmistamme, että meillä on käytettävissä Minecraft: Education Edition -lisenssejä. Kolmen pisteen kautta löytyy lisää valintoja konfigurointiin.


Kun Store for Education on aktivoitu, niin voimme edetä sovelluksen käyttöönotossa työasemissa. Käyttöönotossa on hieman eroja AzureAD-liitetyissä ja perinteiseen Active Directoryyn liitetyissä työasemissa.

Perinteisen työasemaympäristön asennusohjeet ovat tämän blogin viimeisessä osiossa.

AzureAD-liitetty työasema ja Store for Education (käsin)

Helpoin tapa asentaa Minecraft on avata koulun Kauppa (Store) ja valita Minecraftin kohdalta Asenna. Tämä voidaan tehdä normaalin käyttäjän oikeuksilla ja sovellus asentuu jokaiselle käyttäjälle erikseen. Tämä on pull-tyylinen lähestyminen, jossa käyttäjä itse asentaa sovelluksen.

  • Avaa Kauppa/Store -sovellus Windows 10 -työasemassa
  • Mene Kauppa-sovelluksessa viimeiselle välilehdelle, joka on koulun oma Private Store
  • Asenna Minecraft: Education Edition

 

Store01.png
Store02.png
Store03.png
 Sovellus voidaan käynnistää heti asennuksen jälkeen

Sovellus voidaan käynnistää heti asennuksen jälkeen

Yllä oleva toimii erityisesti AzureAD:hen liitetyissä laitteissa helposti, koska käyttäjät kirjautuvat automaattisesti sisään Kauppa-sovellukseen.

Store05.png

Saman voi tehdä myös ei-AzureAD -laitteissa, mutta Kauppaan täytyy kirjautua ensin sisään oikean yläkulman kirjautumiskuvakkeesta. Tämä ei kuitenkaan ole suositeltu tapa yhteiskäyttöisissä luokkakoneissa.


Minecraftin asennus Intunen kautta automaattisesti AzureAD/Intune -liitettyihin työasemiin

Pilvihallittu Windows 10 mahdollistaa sovellusten automaattisen asennuksen työasemiin Intunen tai Intune for Educationin kautta.

Jos käytössäsi on Intune for Education, niin Store for Education ja Intune on jo valmiiksi yhdistetty keskenään ja sovellukset näkyvät automaattisesti myös Intunessa.

Jos käytössä on Intune, niin kytke Store & Intune -synkronointi käyttöön. Synkronointi täytyy konfiguroida sekä Store for Educationissa että Intunessa.

 Konfiguroi synkronointi Store for Educationista Intuneen

Konfiguroi synkronointi Store for Educationista Intuneen

 Kirjaudu sisään Azure-portaaliin. https://portal.azure.com

Kirjaudu sisään Azure-portaaliin. https://portal.azure.com

 Konfiguroi synkronointi käyttöön Intunen puolella ja muista tallentaa asetus Save-napista

Konfiguroi synkronointi käyttöön Intunen puolella ja muista tallentaa asetus Save-napista

Voimme tehdä jakelun joko käyttäjä- tai laitekohtaisesti heti, kun sovellukset näkyvät Intunen puolella.

Sovelluksen kohdennusta varten tarvitsemme AzureAD-ryhmän. Usein sovellukselle tehdään oma jakeluryhmä, johon laitetaan käyttäjiä, koneita ja/tai muita ryhmiä jäseneksi. Tässä esimerkissä luodaan AzureAD-ryhmä Sw_Minecraft_Education_Edition, johon asennus kohdistetaan.

 

 Luodaan uusi AzureAD-ryhmä. Voisimme käyttää jakeluun myös olemassa olevaa ryhmää...

Luodaan uusi AzureAD-ryhmä. Voisimme käyttää jakeluun myös olemassa olevaa ryhmää...

 Kirjoita ryhmän tiedot ja lisää jäseneksi haluamasi käyttäjät, laitteet ja/tai muut AzureAD-ryhmät. Voit myös tehdä Dynaamisen käyttäjä- tai koneryhmän.

Kirjoita ryhmän tiedot ja lisää jäseneksi haluamasi käyttäjät, laitteet ja/tai muut AzureAD-ryhmät. Voit myös tehdä Dynaamisen käyttäjä- tai koneryhmän.

 Etsitään Minecraft: Education Edition -sovellus

Etsitään Minecraft: Education Edition -sovellus

 Lisätään jakeluryhmä

Lisätään jakeluryhmä

 Määritellään Required (pakotettu) asennus, jotta sovellus asentuu automaattisesti laitteille/käyttäjille. Valitaan aiemmin luomamme AzureAD-ryhmä.

Määritellään Required (pakotettu) asennus, jotta sovellus asentuu automaattisesti laitteille/käyttäjille. Valitaan aiemmin luomamme AzureAD-ryhmä.

 Valitse ryhmä, johon asennus kohdistetaan. Käytä joko tässä esimerkissä tekemäämme ryhmää tai jotain muuta (olemassa olevaa) AzureAD-ryhmää.

Valitse ryhmä, johon asennus kohdistetaan. Käytä joko tässä esimerkissä tekemäämme ryhmää tai jotain muuta (olemassa olevaa) AzureAD-ryhmää.

 Muista tallentaa Save-napista

Muista tallentaa Save-napista

 Kirjautumisen jälkeen sovellus asentuu automaattisesti erittäin nopeasti, jos se ei ole jo valmiiksi koneella. Usein puhutaan jopa vain muutaman sekunnin viiveestä asennuksen alkamisessa.

Kirjautumisen jälkeen sovellus asentuu automaattisesti erittäin nopeasti, jos se ei ole jo valmiiksi koneella. Usein puhutaan jopa vain muutaman sekunnin viiveestä asennuksen alkamisessa.


Minecraft: Education Edition -asennus perinteisillä hallintajärjestelmillä

Minecraft voidaan asentaa perinteisillä hallintajärjestelmillä ilman AzureAD- tai Intune-kytköstä. Hallintajärjestelmänä voi olla mikä tahansa, mutta yleisin on ConfigMgr (SCCM).

Ensimmäiseksi täytyy ladata Minecraftin offline-asennusmedia. Store for Education tarjoaa mahdollisuuden ladata osan sovelluksista offline-asennettavaksi. Myös Minecraftin voi ladata näin.

Minecraftista onneksi löytyy ladattava zip-tiedosto myös Store for Educationin ulkopuolelta, joten voimme ladata sen suoraan Microsoftin sivuilta. Tämä suora latauslinkki lataa saman paketin, joka saataisiin ladattua myös Store for Educationin puolelta.

Lataa Minecraft Education Edition ZIP-paketti tästä

Lisätietoja lataukseen ja asennukseen löytyy täältä.

Pura ladattu ZIP-paketti ja huomaat, että siellä on valmiina bat-tiedosto, josta asennuksen voi käynnistää. BAT-tiedosto pyrkii asentamaan sovelluksen sekä suorittavalle käyttäjätunnukselle, että konekohtaisesti.

 

 Voit myös asentaa lisäosat Classroom Mode ja Code Connection. MSI-paketit voi jaella koneisiin Intunen tai muun hallintajärjestelmän kautta.

Voit myös asentaa lisäosat Classroom Mode ja Code Connection. MSI-paketit voi jaella koneisiin Intunen tai muun hallintajärjestelmän kautta.

  InstallMinecraftEducationEdition.bat  on valmis skripti, jonka avulla sovelluksen voi asentaa koneille. Skripti tunnistaa onko kone 32- bai 64-bittinen.

InstallMinecraftEducationEdition.bat on valmis skripti, jonka avulla sovelluksen voi asentaa koneille. Skripti tunnistaa onko kone 32- bai 64-bittinen.

 Jos jakelet vain 64-bittisiin työasemiin, niin voit paketin koon pienentämiseksi poistaa 32-bittisen tiedoston:  Microsoft.MinecraftEducationEdition_1.0.28.0_x86__8wekyb3d8bbwe.appx

Jos jakelet vain 64-bittisiin työasemiin, niin voit paketin koon pienentämiseksi poistaa 32-bittisen tiedoston: Microsoft.MinecraftEducationEdition_1.0.28.0_x86__8wekyb3d8bbwe.appx

Kun paketti on ladattu, niin teemme siitä jakelun työasemiin. Tässä esimerkissä teemme jakelun SCCM:n avulla kahdella eri tavalla.

  • Voimme määritellä AppX-asennuksen Applicationiin
  • Tai voimme "oikaista" ja tehdä Application-asennuksen suoraan InstallMinecraftEducationEdition.bat -tiedoston avulla.

Kolmas tapa olisi synkronoida Store for Education ja SCCM keskenään, mutta jätetään se harjoitustehtäväksi toiseen kertaan.

Minecraft-asennus SCCM Application AppX:n avulla

Lataamamme ZIP-tiedosto sisältää tarvittavat tiedostot. Hakemistorakennetta täytyy hieman muuttaa, jotta SCCM osaa asentaa automaattisesti tarvittavat lisäkirjastot (Dependencyt).

Luo paketista seuraavanlainen hakemistorakenne (64-bittinen asennus)

 Päähakemistoon .appx ja .xml

Päähakemistoon .appx ja .xml

 Alihakemistoon: Dependencies\x64      64-bittiset lisäosat

Alihakemistoon: Dependencies\x64      64-bittiset lisäosat

 Alihakemistoon: Dependencies\x86      32-bittiset lisäosat

Alihakemistoon: Dependencies\x86      32-bittiset lisäosat

Lisää paketti SCCM:n Application-jakoon ja sovelluksesta uusi Application

 

01-SCCM_Minecraft_AppX_crop.png
02-SCCM_Minecraft_AppX.png
03-SCCM_Minecraft_AppX.png
04-SCCM_Minecraft_AppX.png
05-SCCM_Minecraft_AppX.png
06-SCCM_Minecraft_AppX.png
07-SCCM_Minecraft_AppX.png
08-SCCM_Minecraft_AppX.png
 Avaa luodun sovelluksen Properties ja käy asettamassa Application Catalog -välilehdeltä icon-tiedosto sovellukselle, Näin se näyttää kauniimmalta Software Centerissä työasemassa.  Löydät ikonitiedostot, kun purat .appx-tiedoston (Microsoft.MinecraftEducationEdition_1.0.28.0_x64__8wekyb3d8bbwe.appx) 7-Zip -ohjelmalla auki ja menet hakemistoon:  Microsoft.MinecraftEducationEdition_1.0.28.0_x64__8wekyb3d8bbwe\UAP.Edu.Assets\minecraft\icons\MCSquare310x310Logo.scale-100.png

Avaa luodun sovelluksen Properties ja käy asettamassa Application Catalog -välilehdeltä icon-tiedosto sovellukselle, Näin se näyttää kauniimmalta Software Centerissä työasemassa.

Löydät ikonitiedostot, kun purat .appx-tiedoston (Microsoft.MinecraftEducationEdition_1.0.28.0_x64__8wekyb3d8bbwe.appx) 7-Zip -ohjelmalla auki ja menet hakemistoon:

Microsoft.MinecraftEducationEdition_1.0.28.0_x64__8wekyb3d8bbwe\UAP.Edu.Assets\minecraft\icons\MCSquare310x310Logo.scale-100.png

Koska SCCM tunnisti AppX:n automaattisesti, niin meidän ei tarvitse luoda Detection Ruleja tai muita logiikkaa. Tämän jälkeen normaaliin tapaan paketille Distribute Content ja Deploy haluttuun collectioniin.

Työasemassa sovellus ilmestyy Software Centeriin ja jos teit Required-asennuksen, niin se asentuu työasemiin automaattisesti.

 

SCCMSoftwareCenter.png

Jos "oikaisit" edellisessä kohdassa ja teit Application-jakelun bat-tiedostoa käyttäen, niin määrittele Detection Rule:ksi Powershell-skripti:

$AppX = Get-ProvisionedAppxPackage -Online | Where-Object { $_.DisplayName -eq 'Microsoft.MinecraftEducationEdition' }

If ($AppX.Version -eq '1.0.28.0') { Write-Output $true }


DISM-komennolla voimme asentaa appx-sovelluksia sekä offline-tilassa (WinPE:ssä), että online-tilassa.

Bat-tiedosto WinPE:ssä. Komennon %~dp0 viittaa siihen hakemistoon, jossa bat-tiedosto on. Tässä tapauksessa bat-tiedosto laitetaan ladatun zip-paketin juureen alkuperäisen bat-tiedoston viereen.

Dism /Image:C: /Add-ProvisionedAppxPackage /PackagePath:%~dp0Files\Microsoft.MinecraftEducationEdition_1.0.28.0_x64__8wekyb3d8bbwe.appx /DependencyPackagePath:%~dp0Files\Microsoft.VCLibs.140.00_14.0.25426.0_x86__8wekyb3d8bbwe.appx /DependencyPackagePath:%~dp0Files\Microsoft.NET.Native.Runtime.1.4_1.4.24201.0_x86__8wekyb3d8bbwe.appx /DependencyPackagePath:%~dp0Files\Microsoft.NET.Native.Framework.1.3_1.3.24201.0_x86__8wekyb3d8bbwe.appx /DependencyPackagePath:%~dp0Files\Microsoft.VCLibs.140.00_14.0.25426.0_x64__8wekyb3d8bbwe.appx /DependencyPackagePath:%~dp0Files\Microsoft.NET.Native.Runtime.1.4_1.4.24201.0_x64__8wekyb3d8bbwe.appx /DependencyPackagePath:%~dp0Files\Microsoft.NET.Native.Framework.1.3_1.3.24201.0_x64__8wekyb3d8bbwe.appx /LicensePath:%~dp0Files\Microsoft.MinecraftEducationEdition_1.0.28.0__8wekyb3d8bbwe_License1.xml

 

Online-tilassa DISM-komento. Tässäkin esimerkissä komento ajettaisiin bat-tiedoston sisältä. Tämän takia siellä on viittaukset %~dp0.

Dism /Online /Add-ProvisionedAppxPackage /PackagePath:%~dp0Files\Microsoft.MinecraftEducationEdition_1.0.28.0_x64__8wekyb3d8bbwe.appx /DependencyPackagePath:%~dp0Files\Microsoft.VCLibs.140.00_14.0.25426.0_x86__8wekyb3d8bbwe.appx /DependencyPackagePath:%~dp0Files\Microsoft.NET.Native.Runtime.1.4_1.4.24201.0_x86__8wekyb3d8bbwe.appx /DependencyPackagePath:%~dp0Files\Microsoft.NET.Native.Framework.1.3_1.3.24201.0_x86__8wekyb3d8bbwe.appx /DependencyPackagePath:%~dp0Files\Microsoft.VCLibs.140.00_14.0.25426.0_x64__8wekyb3d8bbwe.appx /DependencyPackagePath:%~dp0Files\Microsoft.NET.Native.Runtime.1.4_1.4.24201.0_x64__8wekyb3d8bbwe.appx /DependencyPackagePath:%~dp0Files\Microsoft.NET.Native.Framework.1.3_1.3.24201.0_x64__8wekyb3d8bbwe.appx /LicensePath:%~dp0Files\Microsoft.MinecraftEducationEdition_1.0.28.0__8wekyb3d8bbwe_License1.xml

Office365 ProPlus changed shortcut names -> Old Windows 10 custom StartLayout.xml breaks

Blog updated 12.4.2018 Added DesktopApplicationID to StartLayout. Thanks Steven Kister for tip.

I noticed this earlier with Windows 10 RS4 (1803) testing but now I noticed this with Windows 10 1709 using updated Office media.

New Office365 ProPlus version has changed shortcut names from Excel 2016.lnk to Excel.lnk. Shortcut name doesn't have year numbers anymore.

Except OneNote 2016.lnk is still same shortcut name in old and new version. This applies at least to Office-version 1803 (9126.2116) Monthly channel.

This broke my existing StartLayoutCustomization.xml so I needed to update these to my deployments.

Here are new shortcut names which Export-StartLayout -cmdlet exports:

        <start:Group Name="Office 2016">
          <start:DesktopApplicationTile Size="2x2" Column="2" Row="0" DesktopApplicationLinkPath="%ALLUSERSPROFILE%\Microsoft\Windows\Start Menu\Programs\Excel.lnk" />
          <start:DesktopApplicationTile Size="2x2" Column="2" Row="2" DesktopApplicationLinkPath="%ALLUSERSPROFILE%\Microsoft\Windows\Start Menu\Programs\OneNote 2016.lnk" />
          <start:DesktopApplicationTile Size="2x2" Column="4" Row="2" DesktopApplicationLinkPath="%ALLUSERSPROFILE%\Microsoft\Windows\Start Menu\Programs\Outlook.lnk" />
          <start:DesktopApplicationTile Size="2x2" Column="4" Row="0" DesktopApplicationLinkPath="%ALLUSERSPROFILE%\Microsoft\Windows\Start Menu\Programs\PowerPoint.lnk" />
          <start:DesktopApplicationTile Size="2x2" Column="0" Row="2" DesktopApplicationLinkPath="%ALLUSERSPROFILE%\Microsoft\Windows\Start Menu\Programs\Skype for Business.lnk" />
          <start:DesktopApplicationTile Size="2x2" Column="0" Row="0" DesktopApplicationLinkPath="%ALLUSERSPROFILE%\Microsoft\Windows\Start Menu\Programs\Word.lnk" />
        </start:Group>

Old syntax was:

        <start:Group Name="Office 2016">
          <start:DesktopApplicationTile Size="2x2" Column="2" Row="0" DesktopApplicationLinkPath="%ALLUSERSPROFILE%\Microsoft\Windows\Start Menu\Programs\Excel 2016.lnk" />
          <start:DesktopApplicationTile Size="2x2" Column="2" Row="2" DesktopApplicationLinkPath="%ALLUSERSPROFILE%\Microsoft\Windows\Start Menu\Programs\OneNote 2016.lnk" />
          <start:DesktopApplicationTile Size="2x2" Column="4" Row="2" DesktopApplicationLinkPath="%ALLUSERSPROFILE%\Microsoft\Windows\Start Menu\Programs\Outlook 2016.lnk" />
          <start:DesktopApplicationTile Size="2x2" Column="4" Row="0" DesktopApplicationLinkPath="%ALLUSERSPROFILE%\Microsoft\Windows\Start Menu\Programs\PowerPoint 2016.lnk" />
          <start:DesktopApplicationTile Size="2x2" Column="0" Row="2" DesktopApplicationLinkPath="%ALLUSERSPROFILE%\Microsoft\Windows\Start Menu\Programs\Skype for Business 2016.lnk" />
          <start:DesktopApplicationTile Size="2x2" Column="0" Row="0" DesktopApplicationLinkPath="%ALLUSERSPROFILE%\Microsoft\Windows\Start Menu\Programs\Word 2016.lnk" />
        </start:Group>

Problem using shortcut names is that now we have 2 StartLayout files and we might have different versions of Office in Windows.

Real fix is to use DesktopApplicationID in StartLayout just like Microsoft says in documentation too (https://docs.microsoft.com/en-us/windows/configuration/customize-and-export-start-layout):

If the Start layout that you export contains tiles for desktop (Win32) apps or .url links, Export-StartLayout will use DesktopApplicationLinkPath in the resulting file. Use a text or XML editor to change DesktopApplicationLinkPath to DesktopApplicationID. See Specify Start tiles for details on using the app ID in place of the link path.

We can export AppIDs in Powershell with command: Get-StartApps
and to show only Office apps we use command: get-startapps |where {$_.AppID -like "*Office*" }

New XML using DesktopApplicationID looks like:
        <start:Group Name="Office 2016">
          <start:DesktopApplicationTile Size="2x2" Column="2" Row="0" DesktopApplicationID="Microsoft.Office.EXCEL.EXE.15" />
          <start:DesktopApplicationTile Size="2x2" Column="2" Row="2" DesktopApplicationID="Microsoft.Office.ONENOTE.EXE.15" />
          <start:DesktopApplicationTile Size="2x2" Column="4" Row="2" DesktopApplicationID="Microsoft.Office.OUTLOOK.EXE.15" />
          <start:DesktopApplicationTile Size="2x2" Column="4" Row="0" DesktopApplicationID="Microsoft.Office.POWERPNT.EXE.15" />
          <start:DesktopApplicationTile Size="2x2" Column="0" Row="2" DesktopApplicationID="Microsoft.Office.lync.exe.15" />
          <start:DesktopApplicationTile Size="2x2" Column="0" Row="0" DesktopApplicationID="Microsoft.Office.WINWORD.EXE.15" />
        </start:Group>

Here are links for example StartScreenlayout.xml which I use in Educational cases.
Old Office-version StartLayoutCustomization.xml
New Office-version StartLayoutCustomization.xml using DesktopApplicationID
New Office-version StartLayoutCustomization.xml using updated shortcut names

Few thoughts on this issue. Office 2019 is coming soon. I would guess Office AppIDs will change at that time so using AppID now may not work in future, but it will work now with old and newer Office-version. Updated shortcuts names could work with Offie 2019. OneNote shortcut name is not updated at this time so this probably also needs to be updated in future or now (depending if we use AppID or shortcut name now).

So whatever we choose now we may need to build new XML file when new Office 2019 is released which is ok because that is a big update.

This example also configures Taskbar icons so this is good example to modify your own startlayout. Remember with your own Taskbar layout modifications to add Taskbar specification also into the first row in XML if you export reference layout with Export-StartLayout -command.

<LayoutModificationTemplate xmlns:defaultlayout="http://schemas.microsoft.com/Start/2014/FullDefaultLayout" xmlns:start="http://schemas.microsoft.com/Start/2014/StartLayout" Version="1" xmlns="http://schemas.microsoft.com/Start/2014/LayoutModification" xmlns:taskbar="http://schemas.microsoft.com/Start/2014/TaskbarLayout">

I always save picture with StartLayoutCustomization.xml.

 

Powershell Windows Driver Management tools

All IT Pros should know cool tools for Modern Driver Management. These tools can automate driver packages for HP, Dell and Lenovo Enterprise workstation models.

However we may need to do driver packages to models which don't have driver packages provided by OEMs.

Here my just released tools will help admins to do driver packages easily. You can find files from my GitHub.

In Powershell we have cmdlet Export-WindowsDriver which will export all 3rd party drivers. Problem with this approach is that it exports all 3rd party drivers in computer (whether used or not) and all inf-files are in one folder so it's hard to see what each actually are.

 Folder structure made by Export-WindowsDriver cmdlet

Folder structure made by Export-WindowsDriver cmdlet

I wanted to categorize drivers and detect drivers which are not used. Or, detect drivers which don't have device. Export_drivers.ps1 exports 3rd party drivers, categorize drivers and detect drivers which are not used.

End result looks like

 Drivers in each categories

Drivers in each categories

Directory _DriversWithoutExistingDevice has all the drivers which are not used at the moment. Usually these are not needed but some might be. For example some HP models shows SD Card device only when SD Card is in place. So that SD Card driver needs to copied with others.

With this approach I have made driver packages for tens of computers models which doesn't have OEM provided driver packages.

Workflow goes like this:
- Install Windows 10 or start new computer (or use even existing installation)
- Update computer to latest patches and drivers
- Export drivers with Export_drivers.ps1
- Decide what to do with _DriversWithoutExistingDevice drivers (I usually move these away, not delete but not include with driver package)
- Make driver package, test new installation and go to production

There are 2 other scripts which tests if driver installation is done as you intended. These scripts will compare driver installation information from baseline and installed computers. In reality scripts will compare Win32_pnpsigneddrivers wmi-class. Export_drivers.ps1 makes these automatically but you can make those manually with command:

Get-WmiObject Win32_pnpsigneddriver | Export-CliXml -Path ".\$((Get-WmiObject -Class win32_computersystem).Manufacturer) $((Get-WmiObject -Class win32_computersystem).Model) Win32_pnpsigneddriver.xml"

Driver comparison script is made because sometimes Windows decides to install wrong driver (usually Microsoft driver) to some devices. We need to easily test that our driver installation end result is working as it should. Comparison script will tell if some driver has different Manufacturer. It is ok to have different driver version but Manufacturer should always be same.

I will open functionality of these tools on other blog posts. Also I have some ideas for OEM Driver Packages :)