Egy előző cikkben megtekintettük a régi iskolai vbscripteket, amelyek felhasználhatók a nyomtatók és a nyomtatás kezelésére a Windows összes verziójában, kezdve a Windows XP-vel. Ma megvizsgáljuk a tipikus parancsokat a Windows nyomtatók, portok és nyomtatóillesztők létrehozására, eltávolítására a PowerShell használatával. Ezek a nyomtatókezelési módszerek a modern operációs rendszerekben - Windows 10, 8.1 és Windows Server 2012 R2 / 2016/2019 - felhasználhatók.
Tartalom:
- PowerShell modul: PrintManagement
- Telepítse a nyomtató-illesztőprogramot az illesztőprogram-tárolóba
- Telepítsen egy új nyomtatót a PowerShell használatával
- Sorolja fel a nyomtatókat a nyomtatószerveren a PowerShell használatával
- Csatlakoztasson egy hálózati nyomtatót a PowerShell-ből
- Nyomtató eltávolítása a PowerShell használatával
PowerShell modul: PrintManagement
A Windows 8.1 és a Windows Server 2012 R2 kiadásával a Microsoft kiadott egy új verziót PowerShell 4.0 (a Windows Management Framework 4.0 része), amely jelentősen kibővítette a Windows-alapú nyomtatószerver kezelésére szolgáló parancsmagok listáját. A Windows 10 PrintManagement moduljában (PoSh v5) elérhető nyomtatók, illesztőprogramok és nyomtatási sorok kezelésére szolgáló parancsmagok teljes listája a következő paranccsal jeleníthető meg:
Get-Command -modul PrintManagement
A PrintManagement modul 22 PowerShell-parancsmagot biztosít a nyomtatók, illesztőprogramok, nyomtatási portok és sorok kezeléséhez:
- Add-Printer - új nyomtató hozzáadása (telepítése);
- Add-PrinterDriver - új nyomtatóillesztő telepítése;
- Add-PrinterPort - hozzon létre egy nyomtatási portot;
- Get-PrintConfiguration - a nyomtató nyomtatási beállításainak megjelenítése;
- Get-Printer - jelenítse meg a számítógépre telepített nyomtatók listáját;
- Get-PrinterDriver - listázza a telepített nyomtatóillesztőket;
- Get-PrinterPort - megjeleníti a nyomtatási portok listáját;
- Get-PrinterProperty - a nyomtató tulajdonságainak megjelenítése;
- Get-PrintJob - a nyomtató nyomtatási feladatainak listája;
- Read-PrinterNfcTag - nyomtatóinformációk beszerzése NFC-címkéből;
- Eltávolítás-nyomtató - távolítsa el a nyomtatót;
- Remove-PrinterDriver - távolítsa el a nyomtató-illesztőprogramot;
- Remove-PrinterPort - távolítsa el a nyomtató portját;
- Remove-PrintJob - távolítsa el a nyomtatási feladatot a nyomtatóról;
- Nyomtató átnevezése - nevezze át a nyomtatót;
- Restart-PrintJob - indítsa újra a nyomtatási feladatot;
- Resume-PrintJob - szüneteltetett munka indítása
- Set-PrintConfiguration - a nyomtató konfigurációjának beállítása;
- Set-Printer - frissítse a nyomtató konfigurációját;
- Set-PrinterProperty - a nyomtató tulajdonságainak megváltoztatása;
- Suspend-PrintJob - szünetelteti a nyomtatási feladatot;
- Write-PrinterNfcTag - információk írása az NFC címkébe.
Egy adott parancs részletes szintaxisinformációi az alábbiak szerint szerezhetők be:
Get-Help - Részletesen
Példák a parancsok használatára:
Get-Help -Példák
Nézzünk meg néhány példát a tipikus nyomtatókezelési forgatókönyvekre a Windows 10-ben a PowerShell-ből..
Telepítse a nyomtató-illesztőprogramot az illesztőprogram-tárolóba
A Windows illesztőprogram-tárolóba telepített nyomtatóillesztők felsorolása:
Get-nyomtató illesztőprogramok
Új nyomtató-illesztőprogramot állítottunk be a rendszerbe, például a HP Universal Printing PCL 6-at. A dokumentáció szerint az illesztőprogram hozzáadására szolgáló PowerShell-parancsnak a következőnek kell lennie:
Add-PrinterDriver -Név "HP Universal Printing PCL 6" -InfPath "C: \ Distr \ HP-pcl6-x64 \ hpcu118u.inf"
Amikor azonban megpróbálja telepíteni az illesztőprogramot, egy hiba jelenik meg:
Add-PrinterDriver: A művelet egy vagy több megadott paramétere érvénytelen. Sorban: 1 char: 1 + Add-PrinterDriver - Név "HP Universal Printing PCL 6" -InfPath "C: \ Di ... + ~~~~~~~~~~~~~~~~~~~~ ~~~~ + Kategóriainformáció: InvalidArgument: (MSFT_PrinterDriver: ROOT / StandardCimv2 / MSFT_PrinterDriver) [Add-PrinterDriver], CimException + FullyQualifiedErrorId: HRESULT 0x80070057, Add-PrinterDriver
Kiderül, hogy az inf fájlból származó illesztőprogram csak akkor adható hozzá, ha már megtalálható a DriverStore illesztőprogram-tárhelyében (az adattárról további információ itt található). Kiderül, hogy az Add-PrinterDriver paranccsal nem telepíthető olyan illesztőprogram, amely nincs a rendszerillesztő-tárban. Az illesztőprogram telepítéséhez a DriverStore-ban használhatja:
- vbs szkript az előző cikkből;
- hasznosság pnputil.exe. A formátum:
pnputil.exe -i-C: \ Distr \ HP-pcl6-x64 \ hpcu118u.inf
(telepítsen egy meghatározott nyomtató-illesztőprogramot) vagypnputil.exe -i-C: \ Distr \ HP-pcl6-x64 \ *. inf
(telepítse az összes illesztőprogramot, amely a megadott könyvtár inf fájljaiban található); - Add-WindowsDriver-parancsmag az illesztőprogramok integrálásához egy offline Windows-képbe.
A nyomtató-illesztőprogram hozzáadása után a lerakathoz hozzá kell adnia az elérhető nyomtatószerverek listájához.
Add-PrinterDriver -Név "HP Universal Printing PCL 6"
Telepítsen egy új nyomtatót a PowerShell használatával
Hozzon létre egy ip portot a hálózati nyomtatóra történő nyomtatáshoz (itt megadhatja mind a hálózati nyomtató IP-címét, mind a távoli nyomtatószerver nevét):
Add-PrinterPort -Name "IP_192.168.10.26" -PrinterHostAddress "192.168.10.26"
Mielőtt hozzáadna egy portot, ellenőrizheti, létezik-e:
$ portName = "IP_192.168.10.26"
$ checkPortExists = Get-Printerport -Name $ portname -ErrorAction SilentlyContinue
if (-not $ checkPortExists)
Add-PrinterPort -name $ portName -PrinterHostAddress "192.168.10.26"
A következő parancs használatával létrehozunk egy új nyomtatót a rendszerben, és közzétesszük (megosztjuk):Kiegészítő-nyomtató -név hp2050_Office1_Buh -DriverNév "HP Deskjet 2050 J510 series osztály illesztőprogram" -PortName IP_192.168.10.26 -Ha megosztott -ShareName "hp2050_1_BUh" -Között
A nyomtató átnevezéséhez futtassa a következő parancsot:
Átnevezés-nyomtató -Név "hp2050_Office1_Buh" -ÚjNév "hp2050_Salary"
A parancsok végrehajtása után egy új megosztott nyomtató jelenik meg a rendszerben hp2050_Office1_Buh néven..
Sorolja fel a nyomtatókat a nyomtatószerveren a PowerShell használatával
Felsoroljuk a számítógépre telepített nyomtatók teljes listáját:
Get-nyomtató
Mint láthatja, a parancs megmutatja a nyomtató nevét, típusát (helyi vagy hálózati), illesztőprogramot, nyomtatási portot, azt, hogy a nyomtató meg van-e osztva, és a nyomtatót közzétette az AD-ben.
A legtöbb PrintManagement modul parancsmag használható állapotának megtekintésére, valamint a nyomtatók, illesztőprogramok és nyomtatási sorok kezelésére a távoli számítógépeken. A távoli számítógép vagy szerver nevét a paraméter argumentumaként kell megadni -ComputerName.
A PowerShell használatával információkat szerezhet a távoli számítógépre (nyomtatószerverre) telepített nyomtatókról, ennek végrehajtásához futtassa a következő parancsot:
Get-Printer-ComputerName msk-prnt1 | A formátumlista neve, illesztőprogramnév
Csak a megosztott nyomtatók felsorolásához használja a következő parancsot:
Get-Printer-ComputerName msk-prnt1 | ahol Shared -eq $ true | fl Név
Csatlakoztasson egy hálózati nyomtatót a PowerShell-ből
A nyomtató nyomtatószerverről történő csatlakoztatásához használja a következő parancsot:
Add-Printer -ConnectionName \\ msk-prnt1 \ HPCL3020
A Windows 10 az utolsó nyomtatót használja alapértelmezett nyomtatóként. Ha a rögzített nyomtatót alapértelmezés szerint szeretné használni, futtassa a következő parancsot:
Set-ItemProperty - "HKCU elérési út: \ SZOFTVER \ Microsoft \ Windows NT \ CurrentVersion \ Windows" -Név "LegacyDefaultPrinterMode" -Érték 1 -Force
Az alábbi parancsok segítségével állítsa be az alapértelmezett nyomtatót:
$ wsnObj = Új-Object -COM WScript.Network
$ wsnObj.SetDefaultPrinter (% PrinterName%)
Nyomtató eltávolítása a PowerShell használatával
A nyomtató eltávolításához a következő PowerShell parancsot kell futtatnia:
Eltávolítás-nyomtató -Név "hp2050_Office1_Buh"
Egy adott illesztőprogramot eltávolíthat az Remove-PrinterDriver parancsmag segítségével:
Remove-PrinterDriver -Név "HP Universal Printing PCL 6"