Files
2024-08-09 18:48:28 +02:00

48 lines
2.0 KiB
PowerShell

Start-Transcript -Path c:\windows\temp\printers.log
# Chemin vers le certificat du fournisseur en format .cer
$cheminCertificat = ".\efi.cer"
try {
# Importer le certificat du fournisseur dans le magasin de certificats "Éditeurs de logiciels de confiance"
Import-Certificate -FilePath $cheminCertificat -CertStoreLocation Cert:\LocalMachine\TrustedPublisher
Write-Host "Le certificat a été importé avec succès dans les éditeurs de logiciels de confiance."
} catch {
Write-Host "Une erreur s'est produite lors de l'importation du certificat : $($_.Exception.Message)"
}
#Read printers.csv as input
$Printers = Import-Csv .\drivers.csv
#Add all printer drivers by scanning for the .inf files and installing them using pnputil.exe
$infs = get-childitem -Path . -Filter "*.inf" -Recurse -ErrorAction SilentlyContinue | Select-Object -ExpandProperty Fullname
$totalnumberofinfs = $infs.Count
$currentnumber = 1
Write-Host ("[Install printer driver(s)]`n") -ForegroundColor Green
Foreach ($inf in $infs) {
Write-Host ("[{0}/{1}] Adding inf file {2}" -f $currentnumber, $totalnumberofinfs, $inf) -ForegroundColor Green
try {
c:\windows\sysnative\Pnputil.exe /a $inf | Out-Null
}
catch {
try {
c:\windows\system32\Pnputil.exe /a $inf | Out-Null
}
catch {
C:\Windows\SysWOW64\pnputil.exe /a $inf | Out-Null
}
}
$currentnumber++
}
#Add all installed drivers to Windows using the CSV list for the correct names
$totalnumberofdrivers = ($printers.drivername | Select-Object -Unique).count
$currentnumber = 1
Write-Host ("`n[Add printerdriver(s) to Windows]") -ForegroundColor Green
foreach ($driver in $printers.drivername | Select-Object -Unique) {
Write-Host ("[{0}/{1}] Adding printerdriver {2}" -f $currentnumber, $totalnumberofdrivers, $driver) -ForegroundColor Green
Add-PrinterDriver -Name $driver
$currentnumber++
}
Stop-Transcript