Pada artikel sebelumnya, kami melihat skrip-skrip lama yang dapat digunakan untuk mengelola printer dan mencetak di semua versi Windows, dimulai dengan Windows XP. Hari ini kita akan melihat perintah khas untuk membuat, menghapus printer, port, dan driver cetak di Windows menggunakan PowerShell. Metode manajemen printer ini dapat digunakan dalam sistem operasi modern - Windows 10, 8.1 dan Windows Server 2012 R2 / 2016/2019.
Konten:
- Modul PowerShell: PrintManagement
- Instal driver cetak di repositori driver
- Instal printer baru menggunakan PowerShell
- Daftar printer pada server cetak menggunakan PowerShell
- Hubungkan printer jaringan dari PowerShell
- Menghapus printer menggunakan PowerShell
Modul PowerShell: PrintManagement
Dengan rilis Windows 8.1 dan Windows Server 2012 R2, Microsoft merilis versi baru Powerhell 4.0 (bagian dari Windows Management Framework 4.0), yang telah secara signifikan memperluas daftar cmdlet untuk mengelola server cetak berbasis Windows. Daftar cmdlet lengkap untuk mengelola printer, driver, dan antrian cetak yang tersedia dalam modul PrintManagement pada Windows 10 (PoSh v5) dapat ditampilkan dengan perintah:
Get-Command -Module PrintManagement
Modul PrintManagement menyediakan 22 cm Powerlet PowerShell untuk mengelola printer, driver, port cetak, dan antrian:
- Add-Printer - tambah (instal) printer baru;
- Add-PrinterDriver - instal driver cetak baru;
- Add-PrinterPort - membuat port cetak;
- Get-PrintConfiguration - menampilkan pengaturan cetak printer;
- Get-Printer - menampilkan daftar printer yang diinstal pada komputer;
- Get-PrinterDriver - daftar driver cetak yang diinstal;
- Get-PrinterPort - menampilkan daftar port cetak;
- Get-PrinterProperty - tampilkan properti printer;
- Get-PrintJob - dapatkan daftar pekerjaan cetak printer;
- Read-PrinterNfcTag - dapatkan informasi printer dari tag NFC;
- Remove-Printer - hapus printer;
- Remove-PrinterDriver - hapus driver printer;
- Remove-PrinterPort - lepaskan port printer;
- Remove-PrintJob - menghapus pekerjaan cetak pada printer;
- Rename-Printer - ganti nama printer;
- Restart-PrintJob - restart pekerjaan cetak;
- Resume-PrintJob - memulai pekerjaan yang dihentikan sementara
- Set-PrintConfiguration - mengatur konfigurasi printer;
- Set-Printer - memperbarui konfigurasi printer;
- Set-PrinterProperty - mengubah properti printer;
- Suspend-PrintJob - menghentikan sementara pekerjaan cetak;
- Write-PrinterNfcTag - tulis informasi ke tag NFC.
Informasi sintaksis terperinci untuk perintah tertentu dapat diperoleh sebagai berikut:
Dapatkan-Bantuan -Detailed
Contoh menggunakan perintah:
Dapatkan-Bantuan -Contoh
Mari kita lihat beberapa contoh skenario manajemen printer pada Windows 10 dari PowerShell..
Instal driver cetak di repositori driver
Untuk daftar driver cetak yang diinstal di repositori driver Windows:
Dapatkan-PrinterDriver
Kami menyiapkan driver cetak baru dalam sistem, misalnya, HP Universal Printing PCL 6. Menurut dokumentasi, perintah PowerShell untuk menambahkan driver harus seperti ini:
Add-PrinterDriver -Nama "HP Universal Printing PCL 6" -InfPath "C: \ Distr \ HP-pcl6-x64 \ hpcu118u.inf"
Namun, ketika Anda mencoba menginstal driver dengan cara ini, kesalahan muncul:
Add-PrinterDriver: Satu atau lebih parameter yang ditentukan untuk operasi ini memiliki nilai yang tidak valid. Pada baris: 1 karakter: 1 + Add-PrinterDriver -Nama "HP Universal Printing PCL 6" -InfPath "C: \ Di ... + ~~~~~~~~~~~~~~~~~~~~ ~~~~ + CategoryInfo: InvalidArgument: (MSFT_PrinterDriver: ROOT / StandardCimv2 / MSFT_PrinterDriver) [Add-PrinterDriver], CimException + FullyQualifiedErrorId: HRESULT 0x80070057, Add-PrinterDriver
Ternyata driver dari file inf hanya dapat ditambahkan jika sudah ada dalam repositori driver DriverStore (informasi lebih lanjut tentang repositori dapat ditemukan di sini). Ternyata menggunakan perintah Add-PrinterDriver Anda tidak dapat menginstal driver yang tidak ada dalam repositori driver sistem. Untuk menginstal driver di DriverStore, Anda dapat menggunakan:
- skrip vbs dari artikel sebelumnya;
- Utilitas pnputil.exe. Formatnya adalah:
pnputil.exe -i -a C: \ Distr \ HP-pcl6-x64 \ hpcu118u.inf
(instal driver printer tertentu) ataupnputil.exe -i -a C: \ Distr \ HP-pcl6-x64 \ *. inf
(instal semua driver yang ditemukan dalam file inf dari direktori yang ditentukan); - Tambahkan-WindowsDriver cmdlet untuk mengintegrasikan driver ke gambar Windows offline.
Setelah menambahkan driver printer ke repositori, Anda perlu menambahkannya ke daftar server cetak yang tersedia.
Add-PrinterDriver -Nama "HP Universal Printing PCL 6"
Instal printer baru menggunakan PowerShell
Buat port ip untuk mencetak pada printer jaringan (di sini Anda dapat menentukan alamat IP printer jaringan dan nama server cetak jarak jauh):
Add-PrinterPort -Nama "IP_192.168.10.26" -PrinterHostAddress "192.168.10.26"
Sebelum menambahkan port, Anda dapat memeriksa apakah ada:
$ portName = "IP_192.168.10.26"
$ checkPortExists = Dapatkan-Printerport -Name $ portname -ErrorAction SilentlyContinue
if (-tidak $ checkPortExists)
Tambah-PrinterPort -name $ portName -PrinterHostAddress "192.168.10.26"
Dengan menggunakan perintah berikut, kami akan membuat printer baru di sistem dan menerbitkannya (kami akan membagikannya):Add-Printer -Nama hp2050_Office1_Buh -DriverName "Pengemudi Kelas HP Deskjet 2050 J510 series" -PortName IP_192.168.10.26 -Berbagi -Berbagi Nama "hp2050_1_BUh" -Diterbitkan
Untuk mengganti nama printer, jalankan perintah:
Ganti nama-Printer -Nama "hp2050_Office1_Buh" -NewName "hp2050_Salary"
Setelah perintah ini selesai, printer bersama baru akan muncul di sistem sebagai hp2050_Office1_Buh.
Daftar printer pada server cetak menggunakan PowerShell
Kami akan mencantumkan daftar lengkap printer yang terpasang di komputer ini:
Dapatkan printer
Seperti yang dapat Anda lihat, perintah tersebut menunjukkan nama, jenis printer (lokal atau jaringan), driver, port cetak, apakah printer tersebut digunakan bersama dan printer diterbitkan dalam AD.
Sebagian besar cmdlet modul PrintManagement dapat digunakan untuk melihat status dan mengelola printer, driver, dan antrian cetak pada komputer jarak jauh. Nama komputer atau server jarak jauh ditentukan sebagai argumen untuk parameter -Nama pengguna.
Menggunakan PowerShell, Anda bisa mendapatkan informasi tentang printer yang diinstal pada komputer jarak jauh (server cetak), untuk melakukan ini, jalankan perintah:
Get-Printer -ComputerName msk-prnt1 | Nama Format-Daftar, DriverName
Untuk mencantumkan hanya printer yang dibagikan, gunakan perintah:
Get-Printer -ComputerName msk-prnt1 | di mana Dibagikan -eq $ true | Nama fl
Hubungkan printer jaringan dari PowerShell
Untuk menghubungkan printer dari server cetak, gunakan perintah:
Add-Printer -ConnectionName \\ msk-prnt1 \ HPCL3020
Windows 10 menggunakan printer terakhir yang akan dicetak sebagai printer default, jika Anda ingin menggunakan printer tetap secara default, jalankan perintah:
Set-ItemProperty -Path "HKCU: \ SOFTWARE \ Microsoft \ Windows NT \ CurrentVersion \ Windows" -Name "LegacyDefaultPrinterMode" -Nilai 1 -Paksa
Gunakan perintah berikut untuk mengatur printer default:
$ wsnObj = Objek Baru -COM WScript.Network
$ wsnObj.SetDefaultPrinter (% PrinterName%)
Menghapus printer menggunakan PowerShell
Untuk menghapus printer, Anda harus menjalankan perintah PowerShell berikut:
Hapus-Printer -Nama "hp2050_Office1_Buh"
Anda dapat menghapus driver tertentu menggunakan cmdlet Remove-PrinterDriver:
Remove-PrinterDriver -Nama "HP Universal Printing PCL 6"