पिछले लेख में हमने पुराने स्कूल की वीबीएस लिपियों को देखा था जिनका उपयोग विंडोज एक्सपी से शुरू होने वाले सभी विंडोज़ संस्करणों में प्रिंटर और प्रिंट ऑपरेशन को प्रबंधित करने के लिए किया जा सकता है। आज हम पावरशेल का उपयोग करके प्रिंटर, प्रिंट पोर्ट, ड्राइवर और क्यू को स्थापित करने, प्रबंधित करने और हटाने के लिए विशिष्ट कमांड पर विचार करने जा रहे हैं। पावरशेल सीएलआई से प्रिंटर को प्रबंधित करने के इन तरीकों का उपयोग आधुनिक ऑपरेटिंग सिस्टम - विंडोज 10 / 8.1 और विंडोज सर्वर 2019/2016/2012 R2 में किया जा सकता है।
पावरशेल मॉड्यूल:PrintManagement
विंडोज 8.1 और विंडोज सर्वर 2012 आर2 के रिलीज के साथ, माइक्रोसॉफ्ट ने पावरशेल 4.0 (विंडोज मैनेजमेंट फ्रेमवर्क 4.0 का एक हिस्सा) का एक नया संस्करण जारी किया, जिसने विंडोज-आधारित प्रिंट सर्वर प्रबंधन सीएमडीलेट्स की सूची को काफी बढ़ा दिया। आप निम्न कमांड के साथ विंडोज 10 (पॉवरशेल v5) पर प्रिंटमैनेजमेंट मॉड्यूल में उपलब्ध प्रिंट, ड्राइवर और प्रिंट कतार प्रबंधन cmdlets की पूरी सूची प्राप्त कर सकते हैं:
Get-Command –Module PrintManagement
प्रिंटमैनेजमेंट मॉड्यूल में प्रिंटर, ड्राइवर, प्रिंट पोर्ट और क्यू के प्रबंधन के लिए 22 पावरशेल cmdlets शामिल हैं:
- ऐड-प्रिंटर - नया प्रिंटर जोड़ें (इंस्टॉल करें);
- ऐड-प्रिंटर ड्राइवर - नया प्रिंट ड्राइवर स्थापित करें;
- ऐड-प्रिंटरपोर्ट - स्थानीय प्रिंट पोर्ट बनाएं;
- प्रिंट-कॉन्फ़िगरेशन प्राप्त करें - प्रिंटर कॉन्फ़िगरेशन प्रदर्शित करें;
- गेट-प्रिंटर - कंप्यूटर पर स्थापित प्रिंटरों की सूची प्रदर्शित करें;
- गेट-प्रिंटरड्राइवर - स्थापित ड्राइवरों की सूची प्रदर्शित करें;
- गेट-प्रिंटरपोर्ट - प्रिंटर पोर्ट की सूची प्रदर्शित करता है;
- प्रिंटरप्रॉपर्टी प्राप्त करें - प्रिंटर गुण दिखाएं;
- प्रिंट जॉब प्राप्त करें - प्रिंटर प्रिंट कार्यों की सूची प्राप्त करें;
- पढ़ें-प्रिंटरNfcTag - एनएफसी टैग से प्रिंटर की जानकारी प्राप्त करें;
- निकालें-प्रिंटर - प्रिंटर हटा दें;
- निकालें-प्रिंटर ड्राइवर — प्रिंटर ड्राइवर को हटा दें;
- निकालें-प्रिंटरपोर्ट - प्रिंटर पोर्ट हटा दें;
- रिमूव-प्रिंटजॉब - प्रिंटर पर प्रिंट जॉब हटाएं;
- नाम बदलें-प्रिंटर - प्रिंटर का नाम बदलें;
- रिस्टार्ट-प्रिंटजॉब - प्रिंट कार्य फिर से शुरू करें;
- रिज्यूमे-प्रिंटजॉब - रुके हुए प्रिंट कार्य को फिर से शुरू करें;
- सेट-प्रिंटकॉन्फ़िगरेशन - प्रिंटर कॉन्फ़िगरेशन सेट करें;
- सेट-प्रिंटर - प्रिंटर कॉन्फ़िगरेशन अपडेट करें;
- सेट-प्रिंटरप्रॉपर्टी - प्रिंटर के गुण बदलें;
- निलंबित-प्रिंटकार्य - प्रिंट कार्य को निलंबित (रोकें);
- राइट-प्रिंटरNfcTag - एनएफसी टैग में जानकारी लिखें।
किसी भी कमांड के सिंटैक्स के बारे में विस्तृत जानकारी प्राप्त करने के लिए, निम्न कमांड का उपयोग करें:
Get-Help <cmdlet_name> -Detailed
आदेशों का उपयोग करने के उदाहरण:
Get-Help < cmdlet_name> -Examples
आइए Windows 10 में PowerShell का उपयोग करके विशिष्ट प्रिंटर प्रबंधन कार्यों के कुछ उदाहरण देखें।
ड्राइवर स्टोर में प्रिंटर ड्राइवर जोड़ना
Windows DriverStore में स्थापित प्रिंट ड्राइवरों को सूचीबद्ध करने के लिए:
Get-PrinterDriver
फिर, सिस्टम में एक नया प्रिंटर ड्राइवर स्थापित करें। उदाहरण के लिए, आप लोकप्रिय प्रिंट ड्राइवर "एचपी यूनिवर्सल प्रिंटिंग पीसीएल 6" स्थापित करना चाहते हैं। दस्तावेज़ीकरण के अनुसार, प्रिंट ड्राइवर जोड़ने के लिए पॉवरशेल कमांड इस प्रकार होनी चाहिए:
Add-PrinterDriver -Name "HP Universal Printing PCL 6" -InfPath "C:\Distr\HP-pcl6-x64\hpcu118u.inf"
हालाँकि, इस तरह से ड्राइवर को स्थापित करने का प्रयास करते समय, निम्न त्रुटि संदेश प्रकट होता है:
ऐड-प्रिंटरड्राइवर:इस ऑपरेशन के लिए एक या अधिक निर्दिष्ट मापदंडों का एक अमान्य मान है। लाइन पर:1 char:1 + ऐड-प्रिंटरड्राइवर -नाम "एचपी यूनिवर्सल प्रिंटिंग पीसीएल 6" -इन्फपाथ "सी:\Di ...+ ~~~~~~~~~~~~~~~~~~~~~~+ श्रेणी जानकारी :अमान्य तर्क:(MSFT_PrinterDriver:ROOT/StandardCimv2/MSFT_PrinterDriver) [ऐड-प्रिंटरड्राइवर], CimException + FullQualifiedErrorId:HRESULT 0x80070057, Add-PrinterDriver
यह पता चला है कि INF फ़ाइल से ड्राइवर केवल तभी स्थापित किया जा सकता है जब वह पहले से ही DriverStore में मौजूद हो। ऐसा प्रतीत होता है कि आप ऐड-प्रिंटरड्राइवर कमांड का उपयोग करके एक प्रिंट ड्राइवर स्थापित नहीं कर सकते जो ड्राइवर स्टोर में नहीं है। DriverStore में ड्राइवर जोड़ने के लिए, आप इसका उपयोग कर सकते हैं:
- पिछले लेख में वर्णित वीबीएस स्क्रिप्ट;
- उपयोगिता — pnputil.exe . कमांड निम्नानुसार दिख सकता है:
pnputil.exe -i -a C:\Distr\HP-pcl6-x64\hpcu118u.inf
(विशिष्ट प्रिंटर ड्राइवर स्थापित करता है) याpnputil.exe -i -a C:\Distr\HP-pcl6-x64\*.inf
(निर्दिष्ट निर्देशिका में INF फ़ाइलों में पाए गए सभी ड्राइवरों को स्थापित करता है); - cmdlet Add-WindowsDriver जो ड्राइवरों को ऑफ़लाइन विंडोज छवि में एकीकृत करने की अनुमति देता है।
ड्राइवर रिपॉजिटरी में प्रिंटर ड्राइवर जोड़ने के बाद, आपको इसे प्रिंट सर्वर पर स्थापित करना चाहिए:
Add-PrinterDriver -Name "HP Universal Printing PCL 6"
युक्ति . कैसे पता करें कि PowerShell के माध्यम से ड्राइवर को स्थापित करते समय आपको प्रिंट ड्राइवर नाम के क्षेत्र में क्या निर्दिष्ट करना चाहिए? निर्दिष्ट प्रिंट ड्राइवर का नाम इसके आंतरिक सिस्टम नाम से बिल्कुल मेल खाना चाहिए, अन्यथा ड्राइवर स्थापना के दौरान एक त्रुटि दिखाई देगी। आप get-printerdriver . का उपयोग करके सही ड्राइवर नाम का पता लगा सकते हैं उस कंप्यूटर पर कमांड करें जहां यह प्रिंट ड्राइवर पहले से स्थापित है, या मैन्युअल रूप से ड्राइवर की .inf फ़ाइल की जांच करके।
पावरशेल का उपयोग करके प्रिंटर कैसे स्थापित करें?
नेटवर्क प्रिंटर के लिए एक आईपी पोर्ट बनाएं (यहां आप नेटवर्क प्रिंटर का आईपी पता और रिमोट प्रिंट सर्वर का नाम दोनों निर्दिष्ट कर सकते हैं):
Add-PrinterPort -Name "IP_192.168.10.26" -PrinterHostAddress "192.168.10.26"
एक नया आईपी प्रिंट पोर्ट जोड़ने से पहले, आप जांच सकते हैं कि यह मौजूद है या नहीं:
$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"
}
निम्नलिखित कमांड की सहायता से, हम कंप्यूटर पर एक नया प्रिंटर स्थापित और साझा करेंगे:
Add-Printer -Name hp3027_Office1_Buh -DriverName "HP LaserJet M3027 MFP PCL6 Class Driver" -PortName IP_192.168.10.26 -Shared -ShareName "hp3027_1_BUh" –Published
नोट :ध्यान दें कि वीबीएस स्क्रिप्ट (प्रिंटिंग एडमिन स्क्रिप्ट) का उपयोग करके एक ही ऑपरेशन (एक प्रिंटर स्थापित और साझा करें) करने के लिए, आपको दो अलग-अलग कमांड निष्पादित करना चाहिए।
इन आदेशों को चलाने के बाद, सिस्टम में "hp3027_Office1" नाम का एक नया साझा प्रिंटर दिखाई देगा।
प्रिंटर का नाम बदलने के लिए, बस कमांड चलाएँ:
Rename-Printer -Name "hp3027_1_Buh" -NewName "hp3027_F1_Salary"
प्रिंट सर्वर पर इंस्टॉल किए गए प्रिंटर की सूची बनाएं
आइए इस कंप्यूटर पर स्थापित प्रिंटर की पूरी सूची प्रदर्शित करें:
Get-Printer
जैसा कि आप देख सकते हैं, कमांड प्रिंटर का नाम, प्रकार (स्थानीय या नेटवर्क), ड्राइवर, प्रिंट पोर्ट दिखाता है कि क्या प्रिंटर सक्रिय निर्देशिका में साझा और प्रकाशित किया गया है।
अधिकांश PrintManagement cmdlets का उपयोग दूरस्थ कंप्यूटर (प्रिंट सर्वर) पर स्थिति देखने और प्रिंटर, ड्राइवर और प्रिंट कतारों को प्रबंधित करने के लिए किया जा सकता है। दूरस्थ कंप्यूटर या सर्वर का नाम –ComputerName . के तर्क के रूप में निर्दिष्ट किया गया है पैरामीटर।
आप पावरशेल कमांड का उपयोग करके दूरस्थ कंप्यूटर पर स्थापित प्रिंटर के बारे में जानकारी प्राप्त कर सकते हैं:
Get-Printer -ComputerName rome-prnt1 | Format-List Name,DriverName
केवल साझा किए गए प्रिंटर की सूची प्रदर्शित करने के लिए, कमांड का उपयोग करें:
Get-Printer -ComputerName rome-prnt1 | where Shared -eq $true | fl Name
पावरशेल के साथ नेटवर्क साझा प्रिंटर से कनेक्ट करना
साझा प्रिंटर को प्रिंट सर्वर से कनेक्ट करने के लिए, कमांड का उपयोग करें:
Add-Printer -ConnectionName \\rome-prnt1\HP3027
विंडोज 10 नवीनतम प्रिंटर का उपयोग करता है जिसका उपयोग डिफ़ॉल्ट प्रिंटर के रूप में मुद्रण के लिए किया गया था। यदि आप एक निश्चित डिफ़ॉल्ट प्रिंटर का उपयोग करना चाहते हैं, तो कमांड चलाएँ:
Set-ItemProperty -Path "HKCU:\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Windows" -Name "LegacyDefaultPrinterMode" -Value 1 –Force
डिफ़ॉल्ट प्रिंटर सेट करने के लिए, आप निम्न कमांड का उपयोग कर सकते हैं:
$wsnObj = New-Object -COM WScript.Network
$wsnObj.SetDefaultPrinter(%PrinterName%)
पावरशेल का उपयोग करके प्रिंटर कैसे निकालें?
किसी प्रिंटर को निकालने के लिए, आपको निम्न पावरशेल कमांड चलाने की आवश्यकता है:
Remove-Printer -Name "hp3027_L1_O1"
आप Remove-PrinterDriver cmdlet का उपयोग करके किसी विशिष्ट ड्राइवर को हटा सकते हैं:
Remove-PrinterDriver -Name "HP Universal Printing PCL 6"