To install drivers through Intune, you need to "whitelist" the certificate that is used to verify the manufacturer if this has not been whitelisted before.
Sometimes applications that come with drivers that need to be installed will install with a success status code but without the drivers. This is because the Intune installer just glosses over the driver part, never marks it as failed and continues like nothing happend.
You can reproduce this effect by manually doing the install and canceling the driver install. The installer will not fail and report a success.
Because the driver is not whitelisted and requires manual verification, Intune can't do this for you automatically.
The best way to install drivers is by making a Win32-app. In most driver installers that you can unpack, you will find a .cat file. This contains the certificate.
In the powershell installer file, use this command to install the certificate:
$signature = Get-AuthenticodeSignature ".\Driver.cat"
$store = Get-Item -Path Cert:\LocalMachine\TrustedPublisher
$store.Open("ReadWrite")
$store.Add($signature.SignerCertificate)
$store.Close()
This puts the certificate in the certificate store and effectively whitelists the drivers.
Then use the following command to install the driver.
In my case, I placed the drivers in .inf format in the Driver folder, but you do you.
Get-ChildItem "$PSScriptRoot\Drivers\" -Recurse -Filter "*inf" | ForEach-Object { C:\Windows\SysNative\pnputil.exe /add-driver $_.FullName /install }
C:\Windows\Sysnative\Pnputil.exe /add-driver ".\Drivers\*.INF" /install
You can leave the certificate part out if you know the driver has been whitelisted already, for most larger manufactures this is already the case like Intel.