Al lavoro, a seguito del trasloco di sede del cliente, mi sono trovato nella necessità di installare velocemente la nuova stampante di rete e di eliminare quelle vecchie che non erano più presenti. Per mia fortuna si trattava in tutti e due i casi di stampanti Kyocera perché la procedura utilizzata si adatta bene ai modelli di questa marca e, teoricamente, anche a quelli di altri produttori, ma ho riscontrato delle differenze nei driver forniti che non mi hanno permesso di provare e capire se potesse adattarsi in qualche modo. Se avete modelli di altre marche non vi resta che provare e vedere se trovate dei driver più adatti allo scopo di quelli che ho provato io.

I driver

Per prima cosa ho scaricato gli “universal driver kyocera”, basta cercarli su un motore di ricerca per essere rimandati a una pagina come questa. Potete anche cercare il modello preciso della stampante, nel mio caso era una Kyocera FS-C8520MFP, ma tanto si deve sempre scaricare l’archivio “KX Universal Printer Driver (v.8.4.1716)”.

Ora estraiamo il contenuto dell’archivio zip in una cartella a nostra scelta e usiamo il comando Get-ChildItem -Recurse -Filter "*.inf" | Select-Object FullName per individuare il giusto file .inf che contiene i driver.

Nel mio caso è D:\Driver\Kx84_UPD_8.4.1716_en_RC5_WHQL\64bit\OEMSETUP.INF, gli altri sono per la versione a 32 bit e per le CPU Arm.

Aggiungere rimuovere stampante Kyocera PowerShell

Ora bisogna aprire il file OEMSETUP.INF, nella cartella appena individuata, per leggere il nome corretto della stampante che dobbiamo installare. E’ un file di testo e Notepad di Windows va benissimo per aprirlo, la lista dei nomi nel “Model Sections” è molta lunga quindi è meglio usare la ricerca testo per trovarlo. Nel mio caso si trattava della Kyocera FS-C8520MFP KX.

Aggiungere rimuovere stampante Kyocera PowerShell

Un altro commando che si può usare per estrarre il nome della stampante è questo: Dism.exe /online /Get-DriverInfo /driver:"D:\Driver\Kx84_UPD_8.4.1716_en_RC5_WHQL\64bit\oemsetup.inf".

Però, nel caso dei driver Kyocera, bisognerebbe reindirizzare l’output a un file di testo per poterlo leggere, perché è troppo lungo da consultare direttamente da PowerShell. Magari con altre marche di stampanti, con driver singoli, il risultato potrebbe essere diverso.

Aggiungere rimuovere stampante Kyocera PowerShell

Installazione pacchetto driver

Per installare il pacchetto dei driver appena scaricati dobbiamo usare questo comando: PNPUtil.exe /add-driver "D:\Driver\Kx84_UPD_8.4.1716_en_RC5_WHQL\64bit\oemsetup.inf " /install

Se invece vogliamo cancellare questo pacchetto, perché non ci serve più o abbiamo sbagliato a installarlo, il comando è PNPUtil.exe /delete-driver "oem39.inf" /force. Nel passaggio seguente dell’articolo vedremo il comando corretto per trovare il nome del file oemxx.inf da cancellare.

Aggiungere rimuovere stampante Kyocera PowerShell

Per verificare se il pacchetto dei driver si è installato si usa il comando pnputil.exe /enum-drivers, la lista che ne deriva è piuttosto lunga e bisogna quindi scorrere l’elenco con attenzione per trovarlo.

Aggiungere rimuovere stampante Kyocera PowerShell

Aggiungiamo ora il driver della stampante a quelli disponibili nel sistema operativo: Add-PrinterDriver -Name "Kyocera FS-C8520MFP KX" -Verbose

Con Get-PrinterDriver possiamo verificare che si sia installato.

Aggiungere rimuovere stampante Kyocera PowerShell

Creazione della porta

Dato che si tratta di una stampante di rete è necessario creare la porta TCP/IP con l’indirizzo assegnato alla stampante Add-PrinterPort -Name "TCPPort:" -PrinterHostAddress "192.168.1.10" -ErrorAction SilentlyContinue

Installazione stampante

Come ultima operazione aggiungiamo la stampante: Add-Printer -Name "Stampante Kyocera" -ShareName "Stampante Kyocera FS-C8520" -PortName IP_192.168.1.10 -DriverName "Kyocera FS-C8520MFP KX"

Aggiungere rimuovere stampante Kyocera PowerShell

Se andiamo a controllare ora, tra le stampanti disponibili ci sarà quella che abbiamo appena configurato.

Aggiungere rimuovere stampante Kyocera PowerShell

Lo script

  • Riassumendo quanto visto sino ad ora in uno script per PowerShell io ho utilizzato questi comandi: Set-ExecutionPolicy remotesigned
  • Expand-Archive "d:\driver\KX_Universal_Printer_Driver.zip" -DestinationPath "d:\driver" -Force
  • Invoke-Command {pnputil.exe -a "d:\driver\Kx84_UPD_8.4.1716_en_RC5_WHQL\64bit\OEMSETUP.inf" }
  • Add-PrinterDriver -Name "Kyocera FS-C8520MFP KX"
  • Get-PrinterDriver
  • Add-PrinterPort -Name "IP_192.168.1.10" -PrinterHostAddress "192.168.1.10"
  • Start-Sleep 20
  • Add-Printer -Name "Stampante Kyocera" -ShareName "Stampante Kyocera FS-C8520" -PortName IP_192.168.1.10 -DriverName "Kyocera FS-C8520MFP KX"
  • # Configura la stampante come quella di default, se non vi serve cancellate le due righe o commentatele
  • $printer = Get-CimInstance -Class Win32_Printer -Filter "Name='Stampante Kyocera'"
  • Invoke-CimMethod -InputObject $printer -MethodName SetDefaultPrinter

Rimuovere la stampante

Se vogliamo eliminare una stampante e il suo driver ci servono questi due comandi:

  • Remove-Printer -Name "Stampante Kyocera" -Verbose
  • Remove-PrinterDriver -Name "Kyocera FS-C8520MFP KX" -verbose

Aggiungere rimuovere stampante Kyocera PowerShell

Possiamo aggiungere anche queste due, o più, righe di comando nello script visto in precedenza per eliminare le eventuali vecchie stampanti presenti.