Správa PowerShell tiskáren a tiskových ovladačů ve Windows 10 / Server 2016

V předchozím článku jsme se podívali na staré školní vbscripty, které lze použít ke správě tiskáren a tisku ve všech verzích Windows, počínaje Windows XP. Dnes se podíváme na typické příkazy pro vytváření, odstraňování tiskáren, portů a tiskových ovladačů v systému Windows pomocí prostředí PowerShell. Tyto metody správy tiskárny lze použít v moderních operačních systémech - Windows 10, 8.1 a Windows Server 2012 R2 / 2016/2019.


Obsah:

  • Modul PowerShell: PrintManagement
  • Nainstalujte tiskový ovladač do úložiště ovladačů
  • Nainstalujte novou tiskárnu pomocí prostředí PowerShell
  • Seznam tiskáren na tiskovém serveru pomocí PowerShell
  • Připojte síťovou tiskárnu z prostředí PowerShell
  • Odebrání tiskárny pomocí prostředí PowerShell

Modul PowerShell: PrintManagement

S vydáním systému Windows 8.1 a Windows Server 2012 R2 společnost Microsoft vydala novou verzi Powerhell 4.0 (součást Windows Management Framework 4.0), která významně rozšířila seznam rutin pro správu tiskového serveru se systémem Windows. Úplný seznam rutin pro správu tiskáren, ovladačů a tiskových front dostupných v modulu PrintManagement ve Windows 10 (PoSh v5) lze zobrazit příkazem:
Get-Command - Modul PrintManagement

Modul PrintManagement poskytuje 22 rutin PowerShell pro správu tiskáren, ovladačů, tiskových portů a front:

  • Add-Printer - přidání (instalace) nové tiskárny;
  • Add-PrinterDriver - nainstalujte nový tiskový ovladač;
  • Add-PrinterPort - vytvoření tiskového portu;
  • Get-PrintConfiguration - zobrazení nastavení tisku tiskárny;
  • Get-Printer - zobrazí seznam tiskáren nainstalovaných v počítači;
  • Get-PrinterDriver - seznam nainstalovaných tiskových ovladačů;
  • Get-PrinterPort - zobrazí seznam tiskových portů;
  • Get-PrinterProperty - zobrazí vlastnosti tiskárny;
  • Get-PrintJob - získejte seznam tiskových úloh tiskárny;
  • Read-PrinterNfcTag - získejte informace o tiskárně ze značky NFC;
  • Remove-Printer - vyjměte tiskárnu;
  • Remove-PrinterDriver - odeberte ovladač tiskárny;
  • Remove-PrinterPort - odstranit port tiskárny;
  • Remove-PrintJob - odstranění tiskové úlohy z tiskárny;
  • Přejmenovat tiskárnu - přejmenovat tiskárnu;
  • Restart-PrintJob - restartuje tiskovou úlohu;
  • Resume-PrintJob - spuštění pozastavené úlohy
  • Set-PrintConfiguration - nastavení konfigurace tiskárny;
  • Set-Printer - aktualizace konfigurace tiskárny;
  • Set-PrinterProperty - změna vlastností tiskárny;
  • Suspend-PrintJob - pozastavení tiskové úlohy;
  • Write-PrinterNfcTag - zápis informací do značky NFC.

Podrobné informace o syntaxi pro konkrétní příkaz lze získat následujícím způsobem:

Získejte nápovědu - podrobně

Příklady použití příkazů:

Získat nápovědu - Příklady

Podívejme se na některé příklady typických scénářů správy tiskárny v systému Windows 10 z prostředí PowerShell..

Nainstalujte tiskový ovladač do úložiště ovladačů

Seznam tiskových ovladačů nainstalovaných v úložišti ovladačů systému Windows:

Get-PrinterDriver

V systému jsme nastavili nový tiskový ovladač, například HP Universal Printing PCL 6. Podle dokumentace by měl být příkaz PowerShell pro přidání ovladače následující:

Add-PrinterDriver - Jméno "HP Universal Printing PCL 6" -InfPath "C: \ Distr \ HP-pcl6-x64 \ hpcu118u.inf"

Při pokusu o instalaci ovladače tímto způsobem se však zobrazí chyba:

Add-PrinterDriver: Jeden nebo více zadaných parametrů pro tuto operaci má neplatnou hodnotu. Na řádku: 1 znak: 1 + Přidat-PrinterDriver - Jméno "HP Universal Printing PCL 6" -InfPath "C: \ Di ... + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~ + KategorieInfo: InvalidArgument: (MSFT_PrinterDriver: ROOT / StandardCimv2 / MSFT_PrinterDriver) [Add-PrinterDriver], CimException + FullyQualifiedErrorId: HRESULT 0x80070057, Add-PrinterDriver

Ukázalo se, že ovladač ze souboru inf lze přidat, pouze pokud je již v úložišti ovladačů DriverStore (další informace o úložišti najdete zde). Ukázalo se, že pomocí příkazu Add-PrinterDriver nemůžete nainstalovat ovladač, který není v úložišti systémových ovladačů. Chcete-li nainstalovat ovladač v DriverStore, můžete použít:

  • skript vbs z předchozího článku;
  • Nástroj pnputil.exe. Formát je: pnputil.exe -i -a C: \ Distr \ HP-pcl6-x64 \ hpcu118u.inf (nainstalujte konkrétní ovladač tiskárny) nebo pnputil.exe -i -a C: \ Distr \ HP-pcl6-x64 \ *. inf (nainstalujte všechny ovladače nalezené v inf souborech zadaného adresáře);
  • Add-WindowsDriver cmdlet pro integraci ovladačů do offline obrazu Windows.

Po přidání ovladače tiskárny do úložiště jej musíte přidat do seznamu dostupných tiskových serverů.

Add-PrinterDriver - název "HP Universal Printing PCL 6"

Tip. Jak vím, co je třeba zadat v poli s názvem tiskového ovladače při instalaci ovladače pomocí PowerShell? Zadaný název tiskového ovladače se musí přesně shodovat s interním názvem systému, jinak se během instalace objeví chyba. Správný název ovladače můžete zjistit pomocí příkazu get-printerdriver v systému, ve kterém je tento ovladač již nainstalován, nebo ručně prozkoumáním souboru INF ovladače.

Nainstalujte novou tiskárnu pomocí prostředí PowerShell

Vytvořte ip port pro tisk na síťové tiskárně (zde můžete zadat IP adresu síťové tiskárny a název vzdáleného tiskového serveru):

Add-PrinterPort - Jméno "IP_192.168.10.26" -PrinterHostAddress "192.168.10.26" 
Před přidáním portu můžete zkontrolovat, zda existuje:

$ portName = "IP_192.168.10.26"
$ checkPortExists = Get-Printerport --Name $ portname -ErrorAction SilentlyContinue
if (-not $ checkPortExists)
Add-PrinterPort - jméno $ portName -PrinterHostAddress "192.168.10.26"

Pomocí následujícího příkazu vytvoříme v systému novou tiskárnu a zveřejníme ji (budeme ji sdílet):
Přidat tiskárnu - Název hp2050_Office1_Buh - Název_zákazníku "Ovladač třídy HP Deskjet 2050 J510 series" - Název IP_192.168.10.26 - Sdílený název-Název "hp2050_1_BUh" - Publikováno

Poznámka:. Uvědomte si, že pro provedení stejné operace v případě použití skriptů vbs (Printing Admin skripty) budete muset spustit dva různé příkazy.
Chcete-li přejmenovat tiskárnu, spusťte příkaz:

Přejmenovat tiskárnu - jméno "hp2050_Office1_Buh" -NewName "hp2050_Salary"

Po dokončení těchto příkazů se v systému objeví nová sdílená tiskárna jako hp2050_Office1_Buh.

Seznam tiskáren na tiskovém serveru pomocí PowerShell

Uvádíme úplný seznam tiskáren nainstalovaných v tomto počítači:

Získejte tiskárnu

Jak vidíte, příkaz ukazuje název tiskárny, typ (místní nebo síťový), ovladač, port tisku, zda je tiskárna sdílena a tiskárna je publikována v AD.

Většina cmdletů modulu PrintManagement lze použít ke zobrazení stavu a správě tiskáren, ovladačů a tiskových front na vzdálených počítačích. Název vzdáleného počítače nebo serveru je zadán jako argument parametru -Název_počítače.

Pomocí programu PowerShell můžete získat informace o nainstalovaných tiskárnách na vzdáleném počítači (tiskový server). Chcete-li to provést, spusťte příkaz:

Get-Printer -ComputerName msk-prnt1 | Název seznamu formátů, DriverName

Chcete-li zobrazit pouze sdílené tiskárny, použijte příkaz:

Get-Printer -ComputerName msk-prnt1 | kde Shared -eq $ true | fl Jméno

Připojte síťovou tiskárnu z prostředí PowerShell

Chcete-li připojit tiskárnu z tiskového serveru, použijte příkaz:

Přidat tiskárnu - název připojení \\ msk-prnt1 \ HPCL3020

Systém Windows 10 používá jako výchozí tiskárnu poslední tiskárnu, pokud chcete ve výchozím nastavení používat pevnou tiskárnu, spusťte příkaz:

Set-ItemProperty - Cesta "HKCU: \ SOFTWARE \ Microsoft \ Windows NT \ CurrentVersion \ Windows" - název "LegacyDefaultPrinterMode" -Value 1 -Force

Pro nastavení výchozí tiskárny použijte následující příkazy:

$ wsnObj = New-Object -COM WScript.Network
$ wsnObj.SetDefaultPrinter (% PrinterName%)

Odebrání tiskárny pomocí prostředí PowerShell

Chcete-li odebrat tiskárnu, musíte spustit následující příkaz PowerShell:

Remove-Printer -Name "hp2050_Office1_Buh"

Konkrétní ovladač můžete odebrat pomocí rutiny Remove-PrinterDriver:

Remove-PrinterDriver - název "HP Universal Printing PCL 6"