From 1310dc29d6e0e38bb6cdf97ce65b98ac42fbb606 Mon Sep 17 00:00:00 2001 From: cousclou Date: Fri, 9 Aug 2024 18:46:34 +0200 Subject: [PATCH] gpo,rmm,intune --- driverv1/add_printers.ps1 | 37 ++++++++++++++++++++++++++++++++++++ driverv1/drivers.csv | 3 +++ driverv1/install.cmd | 1 + driverv1/remove_printers.ps1 | 13 +++++++++++++ driverv1/uninstall.cmd | 1 + 5 files changed, 55 insertions(+) create mode 100644 driverv1/add_printers.ps1 create mode 100644 driverv1/drivers.csv create mode 100644 driverv1/install.cmd create mode 100644 driverv1/remove_printers.ps1 create mode 100644 driverv1/uninstall.cmd diff --git a/driverv1/add_printers.ps1 b/driverv1/add_printers.ps1 new file mode 100644 index 0000000..08c1dbc --- /dev/null +++ b/driverv1/add_printers.ps1 @@ -0,0 +1,37 @@ +Start-Transcript -Path c:\windows\temp\printers.log +#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 \ No newline at end of file diff --git a/driverv1/drivers.csv b/driverv1/drivers.csv new file mode 100644 index 0000000..b6cb1ee --- /dev/null +++ b/driverv1/drivers.csv @@ -0,0 +1,3 @@ +"DriverName" +"Canon Generic Plus PS3" + diff --git a/driverv1/install.cmd b/driverv1/install.cmd new file mode 100644 index 0000000..b95f72e --- /dev/null +++ b/driverv1/install.cmd @@ -0,0 +1 @@ +powershell.exe -executionpolicy bypass -file .\add_printers.ps1 \ No newline at end of file diff --git a/driverv1/remove_printers.ps1 b/driverv1/remove_printers.ps1 new file mode 100644 index 0000000..ca28a21 --- /dev/null +++ b/driverv1/remove_printers.ps1 @@ -0,0 +1,13 @@ +#Read printers.csv as input +$Printers = Import-Csv .\drivers.csv + +#Remove drivers from the system +foreach ($driver in $printers.drivername | Select-Object -Unique) { + $PrinterDriverRemoveOptions = @{ + Confirm = $false + Computername = $env:COMPUTERNAME + Name = $driver + RemoveFromDriverStore = $true + } + Remove-PrinterDriver @PrinterDriverRemoveOptions +} \ No newline at end of file diff --git a/driverv1/uninstall.cmd b/driverv1/uninstall.cmd new file mode 100644 index 0000000..6471032 --- /dev/null +++ b/driverv1/uninstall.cmd @@ -0,0 +1 @@ +powershell.exe -executionpolicy bypass -file .\remove_printers.ps1 \ No newline at end of file