gpo,rmm,intune
This commit is contained in:
@@ -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
|
||||||
@@ -0,0 +1,3 @@
|
|||||||
|
"DriverName"
|
||||||
|
"Canon Generic Plus PS3"
|
||||||
|
|
||||||
|
@@ -0,0 +1 @@
|
|||||||
|
powershell.exe -executionpolicy bypass -file .\add_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
|
||||||
|
}
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
powershell.exe -executionpolicy bypass -file .\remove_printers.ps1
|
||||||
Reference in New Issue
Block a user