PowerShell upravljanje pisačima i upravljačkim programima za ispis u sustavu Windows 10 / Server 2016

U prethodnom smo članku pogledali vbscripte stare škole koji bi se mogli koristiti za upravljanje pisačima i ispisom u svim verzijama sustava Windows, počevši od sustava Windows XP. Danas ćemo razmotriti tipične naredbe za stvaranje, uklanjanje pisača, portova i upravljačkih programa za ispis u sustavu Windows pomoću PowerShell-a. Ove se metode upravljanja pisačem mogu koristiti u modernim operativnim sustavima - Windows 10, 8.1 i Windows Server 2012 R2 / 2016/2019.


sadržaj:

  • PowerShell modul: PrintManagement
  • Instalirajte upravljački program za ispis u spremište upravljačkih programa
  • Instalirajte novi pisač pomoću PowerShell-a
  • Lista pisača na poslužitelju ispisa pomoću programa PowerShell
  • Spojite mrežni pisač iz PowerShell-a
  • Uklanjanje pisača pomoću PowerShell-a

PowerShell modul: PrintManagement

Izlaskom sustava Windows 8.1 i Windows Server 2012 R2, Microsoft je objavio novu verziju PowerShell 4.0 (dio Windows Management Framework 4.0), koji je značajno proširio popis cmdleta za upravljanje poslužiteljem ispisa sa sustavom Windows. Potpuni popis cmdleta za upravljanje pisačima, upravljačkim programima i redovima ispisa dostupan u modulu PrintManagement u sustavu Windows 10 (PoSh v5) može se prikazati naredbom:
Get-Command - Upravljanje ispisom modula

Modul PrintManagement nudi 22 PowerShell cmdleta za upravljanje pisačima, upravljačkim programima, portovima za ispis i redima:

  • Add-Printer - dodajte (instalirajte) novi pisač;
  • Add-PrinterDriver - instalirajte novi upravljački program za ispis;
  • Add-PrinterPort - stvorite ulaz za ispis;
  • Get-PrintConfiguration - prikaz postavki ispisa pisača;
  • Get-Printer - prikazuje popis pisača instaliranih na računalu;
  • Get-PrinterDriver - popis instaliranih upravljačkih programa za ispis;
  • Get-PrinterPort - prikaz popisa portova za ispis;
  • Get-PrinterProperty - pokazuju svojstva pisača;
  • Get-PrintJob - nabavite popis poslova ispisa pisača;
  • Read-PrinterNfcTag - dobijte podatke o pisaču iz NFC oznake;
  • Remove-Printer - ukloni pisač;
  • Remove-PrinterDriver - uklonite upravljački program pisača;
  • Remove-PrinterPort - uklonite vrata pisača;
  • Remove-PrintJob - uklonite zadatak ispisa na pisaču;
  • Preimenovanje-pisač - preimenovanje pisača;
  • Restart-PrintJob - ponovno pokrenuti posao ispisa;
  • Resume-PrintJob - započnite pauzirani posao
  • Set-PrintConfiguration - postavljanje konfiguracije pisača;
  • Set-Printer - ažurirajte konfiguraciju pisača;
  • Set-PrinterProperty - promijenite svojstva pisača;
  • Suspend-PrintJob - pauzirajte ispisni posao;
  • Write-PrinterNfcTag - upišite informacije u NFC oznaku.

Detaljne informacije o sintaksi za određenu naredbu mogu se dobiti na sljedeći način:

Dobivanje pomoći -Pravedeno

Primjeri upotrebe naredbi:

Primanje pomoći - primjeri

Pogledajmo nekoliko primjera tipičnih scenarija upravljanja pisačem u sustavu Windows 10 iz PowerShell-a..

Instalirajte upravljački program za ispis u spremište upravljačkih programa

Za popis upravljačkih programa za ispis koji su instalirani u skladištu upravljačkog programa za Windows:

Get-PrinterDriver

U sustav smo postavili novi upravljački program za ispis, na primjer, HP Universal Printing PCL 6. Prema dokumentaciji, naredba PowerShell za dodavanje upravljačkog programa trebala bi biti ovako:

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

Međutim, kada pokušate instalirati upravljački program na ovaj način, pojavljuje se pogreška:

Add-PrinterDriver: Jedan ili više određenih parametara za ovu operaciju ima nevažeću vrijednost. Na redu: 1 char: 1 + Add-PrinterDriver -Namje "HP Universal Printing PCL 6" -InfPath "C: \ Di ... + ~~~~~~~~~~~~~~~~~~~ ~~~~ + CategoryInfo: InvalidArgument: (MSFT_PrinterDriver: ROOT / StandardCimv2 / MSFT_PrinterDriver) [Add-PrinterDriver], CimException + FullyQualifiedErrorId: HRESULT 0x80070057, Add-PrinterDriver

Ispada da se vozač iz inf datoteke može dodati samo ako se već nalazi u DriverStore spremištu upravljačkih programa (više informacija o spremištu možete pronaći ovdje). Ispada da pomoću naredbe Add-PrinterDriver ne možete instalirati pogonitelj koji nije u skladištu upravljačkog programa sustava. Da biste instalirali upravljački program u DriverStore, možete koristiti:

  • vbs skripta iz prethodnog članka;
  • korisnost pnputil.eXE. Format je: pnputil.exe -i -a C: \ Distr \ HP-pcl6-x64 \ hpcu118u.inf (instalirajte određeni upravljački program pisača) ili pnputil.exe -i -a C: \ Distr \ HP-pcl6-x64 \ *. inf (instalirajte sve upravljačke programe koji se nalaze u inf datotekama navedenog direktorija);
  • Add-WindowsDriver cmdlet za integriranje upravljačkih programa u offline Windows sliku.

Nakon dodavanja upravljačkog programa pisača u spremište, morate ga dodati popisu dostupnih poslužitelja ispisa.

Add-PrinterDriver - Naziv "HP Universal Printing PCL 6"

vijeće. Kako mogu znati što odrediti u polju s imenom upravljačkog programa pisača prilikom instaliranja upravljačkog programa putem PowerShell-a? Navedeno ime upravljačkog programa ispisa mora točno odgovarati njegovom unutarnjem nazivu sustava, inače će se tijekom instalacije pojaviti pogreška. Pravo ime upravljačkog programa možete saznati pomoću naredbe get-printerdriver na sustavu u kojem je ovaj upravljački program već instaliran ili ručnim pregledom .inf datoteke upravljačkog programa.

Instalirajte novi pisač pomoću PowerShell-a

Napravite ip port za ispis na mrežnom pisaču (ovdje možete odrediti i IP adresu mrežnog pisača i ime udaljenog poslužitelja ispisa):

Add-PrinterPort -Name "IP_192.168.10.26" -PrinterHostAddress "192.168.10.26" 
Prije dodavanja porta, možete provjeriti postoji li:

$ portName = "IP_192.168.10.26"
$ checkPortExists = Get-Printerport -Name $ portname -ErrorAction SilentlyContinue
ako (-not $ checkPortExists)
Add-PrinterPort -name $ portName -PrinterHostAddress "192.168.10.26"

Sljedećom naredbom stvorit ćemo novi pisač u sustavu i objaviti ga (podijelit ćemo ga):
Add-Printer -Name hp2050_Office1_Buh -DriverName "HP Deskjet 2050 J510 Series Class Driver" -PortName IP_192.168.10.26 -Podijeljeno -ShareName "hp2050_1_BUh" -Pobjavljeno

primjedba. Imajte na umu da za izvršavanje iste operacije u slučaju upotrebe vbs skripte (Ispis Admin skripte), morat ćete pokrenuti dvije različite naredbe.
Da biste promijenili naziv pisača, samo pokrenite naredbu:

Preimenuj-pisač -Ime "hp2050_Office1_Buh" -NewName "hp2050_Salary"

Nakon dovršetka ovih naredbi, novi zajednički pisač pojavit će se u sustavu kao hp2050_Office1_Buh.

Lista pisača na poslužitelju ispisa pomoću programa PowerShell

Navest ćemo potpuni popis pisača instaliranih na ovom računalu:

Get-pisač

Kao što vidite, naredba pokazuje ime pisača, vrstu (lokalnu ili mrežnu), upravljački program, ulaz za ispis, je li pisač zajednički i pisač je objavljen u AD.

Većina cmdleta modula PrintManagement može se koristiti za pregled statusa i upravljanje pisačima, upravljačkim programima i redovima ispisa na udaljenim računalima. Naziv udaljenog računala ili poslužitelja naveden je kao argument parametra -ComputerName.

Pomoću PowerShell-a možete dobiti informacije o instaliranim pisačima na udaljenom računalu (poslužitelju ispisa). Da biste to učinili, pokrenite naredbu:

Get-Printer -ComputerName msk-prnt1 | Naziv popisa formata, ime upravljačkog programa

Za popis samo dijeljenih pisača koristite naredbu:

Get-Printer -ComputerName msk-prnt1 | gdje je dijeljeno -eq $ true | fl Naziv

Spojite mrežni pisač iz PowerShell-a

Za povezivanje pisača s poslužitelja ispisa koristite naredbu:

Add-Printer -ConnectionName \\ msk-prnt1 \ HPCL3020

Windows 10 koristi posljednji pisač koji će se ispisati kao zadani pisač, ako želite koristiti fiksni pisač prema zadanim postavkama, pokrenite naredbu:

Set-ItemProperty -Path "HKCU: \ SOFTWARE \ Microsoft \ Windows NT \ CurrentVersion \ Windows" -Name "LegacyDefaultPrinterMode" -Value 1 -Force

Za postavljanje zadanog pisača koristite sljedeće naredbe:

$ wsnObj = Novi objekt -COM WScript.Network
$ wsnObj.SetDefaultPrinter (% PrinterName%)

Uklanjanje pisača pomoću PowerShell-a

Za uklanjanje pisača trebate pokrenuti sljedeću naredbu PowerShell:

Ukloni-printer - naziv "hp2050_Office1_Buh"

Možete ukloniti određeni upravljački program pomoću cmdleta Remove-PrinterDriver:

Remove-PrinterDriver - Naziv "HP Universal Printing PCL 6"