পূর্ববর্তী নিবন্ধে আমরা পুরানো-স্কুল VBS স্ক্রিপ্টগুলি দেখেছি যেগুলি Windows XP থেকে শুরু করে সমস্ত উইন্ডোজ সংস্করণে প্রিন্টার পরিচালনা এবং প্রিন্ট অপারেশন করতে ব্যবহার করা যেতে পারে। আজ আমরা PowerShell ব্যবহার করে প্রিন্টার, প্রিন্ট পোর্ট, ড্রাইভার এবং সারিগুলি ইনস্টল, পরিচালনা এবং অপসারণের জন্য সাধারণ কমান্ডগুলি বিবেচনা করতে যাচ্ছি। PowerShell CLI থেকে প্রিন্টার পরিচালনার এই উপায়গুলি আধুনিক অপারেটিং সিস্টেমগুলিতে ব্যবহার করা যেতে পারে - Windows 10 / 8.1 এবং Windows Server 2019 / 2016 / 2012 R2৷
পাওয়ারশেল মডিউল:প্রিন্ট ম্যানেজমেন্ট
Windows 8.1 এবং Windows Server 2012 R2 প্রকাশের সাথে সাথে, Microsoft PowerShell 4.0 (Windows Management Framework 4.0 এর একটি অংশ) এর একটি নতুন সংস্করণ প্রকাশ করেছে, যা উল্লেখযোগ্যভাবে Windows-ভিত্তিক প্রিন্ট সার্ভার পরিচালনার cmdlet এর তালিকাকে প্রসারিত করেছে। আপনি নিম্নলিখিত কমান্ডের সাহায্যে Windows 10 (PowerShell v5) এর PrintManagement মডিউলে উপলব্ধ মুদ্রণ, ড্রাইভার এবং মুদ্রণ সারি ব্যবস্থাপনা cmdletগুলির সম্পূর্ণ তালিকা পেতে পারেন:
গেট-কমান্ড -মডিউল প্রিন্ট ম্যানেজমেন্ট
প্রিন্ট ম্যানেজমেন্ট মডিউলটিতে প্রিন্টার, ড্রাইভার, প্রিন্ট পোর্ট, এবং
পরিচালনার জন্য 22টি পাওয়ারশেল cmdlets অন্তর্ভুক্ত রয়েছে:- অ্যাড-প্রিন্টার - নতুন প্রিন্টার যোগ করুন (ইনস্টল করুন);
- অ্যাড-প্রিন্টার ড্রাইভার - নতুন প্রিন্ট ড্রাইভার ইনস্টল করুন;
- অ্যাড-প্রিন্টারপোর্ট - স্থানীয় প্রিন্ট পোর্ট তৈরি করুন;
- গেট-প্রিন্ট কনফিগারেশন – প্রদর্শন প্রিন্টার কনফিগারেশন;
- গেট-প্রিন্টার – কম্পিউটারে ইনস্টল করা প্রিন্টারের তালিকা প্রদর্শন করুন;
- গেট-প্রিন্টার ড্রাইভার - ইনস্টল করা ড্রাইভারের তালিকা প্রদর্শন করুন;
- গেট-প্রিন্টারপোর্ট - প্রিন্টার পোর্টের তালিকা প্রদর্শন করে;
- গেট-প্রিন্টার প্রপার্টি - প্রিন্টার বৈশিষ্ট্য দেখান;
- গেট-প্রিন্ট জব - প্রিন্টার প্রিন্ট কাজের একটি তালিকা পান;
- Read-PrinterNfcTag৷ – NFC ট্যাগ থেকে প্রিন্টার তথ্য পান;
- রিমুভ-প্রিন্টার - প্রিন্টার সরান;
- রিমুভ-প্রিন্টার ড্রাইভার — প্রিন্টার ড্রাইভার সরান;
- রিমুভ-প্রিন্টারপোর্ট - প্রিন্টার পোর্ট সরান;
- রিমুভ-প্রিন্ট জব – প্রিন্টারে একটি মুদ্রণ কাজ মুছে ফেলুন;
- পুনঃনামকরণ-প্রিন্টার - প্রিন্টারের নাম পরিবর্তন করুন;
- পুনঃসূচনা-প্রিন্টজব - প্রিন্ট কাজ পুনরায় আরম্ভ করুন;
- রিজুমে-প্রিন্ট জব - বিরতি দেওয়া মুদ্রণ কাজ পুনরায় শুরু করুন;
- সেট-প্রিন্ট কনফিগারেশন - প্রিন্টার কনফিগারেশন সেট করুন;
- সেট-প্রিন্টার – প্রিন্টার কনফিগারেশন আপডেট করুন;
- সেট-প্রিন্টার প্রপার্টি - প্রিন্টারের বৈশিষ্ট্য পরিবর্তন করুন;
- সাসপেন্ড-প্রিন্ট জব – মুদ্রণ কাজ স্থগিত (বিরতি দিন);
- লিখুন-প্রিন্টারএনএফসি ট্যাগ – NFC ট্যাগে তথ্য লিখুন।
যেকোনো কমান্ডের সিনট্যাক্স সম্পর্কে বিস্তারিত তথ্য পেতে, নিম্নলিখিত কমান্ডটি ব্যবহার করুন:
Get-Help
কমান্ড ব্যবহার করার উদাহরণ:
Get-Help
চলুন Windows 10-এ PowerShell ব্যবহার করে সাধারণ প্রিন্টার ম্যানেজমেন্ট কাজের কয়েকটি উদাহরণ দেখি।
ড্রাইভারস্টোরে প্রিন্টার ড্রাইভার যোগ করা হচ্ছে
উইন্ডোজ ড্রাইভারস্টোরে ইনস্টল করা প্রিন্ট ড্রাইভারগুলির তালিকা করতে:
গেট-প্রিন্টারড্রাইভার
তারপরে, সিস্টেমে একটি নতুন প্রিন্টার ড্রাইভার ইনস্টল করুন। উদাহরণস্বরূপ, আপনি জনপ্রিয় প্রিন্ট ড্রাইভার "HP Universal Printing PCL 6" ইনস্টল করতে চান। ডকুমেন্টেশন অনুসারে, একটি প্রিন্ট ড্রাইভার যুক্ত করার জন্য পাওয়ারশেল কমান্ডটি নিম্নরূপ হওয়া উচিত:
Add-PrinterDriver -নাম "HP Universal Printing PCL 6" -InfPath "C:\Distr\HP-pcl6-x64\hpcu118u.inf"
যাইহোক, এইভাবে ড্রাইভার ইনস্টল করার চেষ্টা করার সময়, নিম্নলিখিত ত্রুটি বার্তাটি উপস্থিত হয়:
Add-PrinterDriver :এই অপারেশনের জন্য এক বা একাধিক নির্দিষ্ট প্যারামিটারের একটি অবৈধ মান রয়েছে। লাইন:1 অক্ষর:1 + অ্যাড-প্রিন্টারড্রাইভার -নাম “HP ইউনিভার্সাল প্রিন্টিং PCL 6” -InfPath “C:\Di …+ ~~~~~~~~~~~~~~~~~~~~~~~~+ CategoryInfo :অবৈধ আর্গুমেন্ট:(MSFT_PrinterDriver:ROOT/StandardCimv2/MSFT_PrinterDriver) [Add-PrinterDriver], CimException + FullyQualifiedErrorId :HRESULT 0x80070057, Add-PrinterDriver
দেখা যাচ্ছে যে INF ফাইল থেকে ড্রাইভার শুধুমাত্র তখনই ইনস্টল করা যাবে যদি এটি ইতিমধ্যেই DriverStore এ বিদ্যমান থাকে। এটি প্রদর্শিত হয় যে আপনি অ্যাড-প্রিন্টারড্রাইভার কমান্ড ব্যবহার করে ড্রাইভার স্টোরে নেই এমন একটি প্রিন্ট ড্রাইভার ইনস্টল করতে পারবেন না। ড্রাইভার স্টোরে একজন ড্রাইভার যোগ করতে, আপনি ব্যবহার করতে পারেন:
- পূর্ববর্তী নিবন্ধে বর্ণিত VBS স্ক্রিপ্ট;
- ইউটিলিটি — 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 -নাম "HP Universal Printing PCL 6"
টিপ . PowerShell এর মাধ্যমে ড্রাইভার ইনস্টল করার সময় প্রিন্ট ড্রাইভার নামের ক্ষেত্রে আপনার কী উল্লেখ করা উচিত তা কীভাবে খুঁজে বের করবেন? নির্দিষ্ট প্রিন্ট ড্রাইভারের নাম অবশ্যই তার অভ্যন্তরীণ সিস্টেম নামের সাথে মিলতে হবে, অন্যথায় ড্রাইভার ইনস্টলেশনের সময় একটি ত্রুটি প্রদর্শিত হবে। আপনি get-printerdriver ব্যবহার করে সঠিক ড্রাইভারের নাম খুঁজে পেতে পারেন একটি কম্পিউটারে কমান্ড যেখানে এই মুদ্রণ ড্রাইভারটি ইতিমধ্যেই ইনস্টল করা আছে, অথবা ম্যানুয়ালি ড্রাইভারের .inf ফাইলটি পরীক্ষা করে।
কিভাবে PowerShell ব্যবহার করে প্রিন্টার ইনস্টল করবেন?
একটি নেটওয়ার্ক প্রিন্টারের জন্য একটি আইপি পোর্ট তৈরি করুন (এখানে আপনি নেটওয়ার্ক প্রিন্টারের IP ঠিকানা এবং দূরবর্তী প্রিন্ট সার্ভারের নাম উভয়ই উল্লেখ করতে পারেন):
অ্যাড-প্রিন্টারপোর্ট -নাম "IP_192.168.10.26" -প্রিন্টারহোস্ট ঠিকানা "192.168.10.26"
একটি নতুন আইপি প্রিন্ট পোর্ট যোগ করার আগে, আপনি এটি বিদ্যমান কিনা তা পরীক্ষা করতে পারেন:
$portName ="IP_192.168.10.26"
$checkPortExists =Get-Printerport -Name $portname -ErrorAction Silently Continue
if (-Not $checkPortExists) {
Add-PrinterPort - নাম $portName -PrinterHostAddress "192.168.10.26"
}
নিম্নলিখিত কমান্ডের সাহায্যে, আমরা কম্পিউটারে একটি নতুন প্রিন্টার ইনস্টল এবং শেয়ার করব:
অ্যাড-প্রিন্টার -নাম hp3027_Office1_Buh -DriverName "HP LaserJet M3027 MFP PCL6 ক্লাস ড্রাইভার" -PortName IP_192.168.10.26 -শেয়ার করা -ShareName "hp3027_1_buh>
দ্রষ্টব্য :মনে রাখবেন VBS স্ক্রিপ্ট (প্রিন্টিং অ্যাডমিন স্ক্রিপ্ট) ব্যবহার করে একই ক্রিয়াকলাপ (একটি প্রিন্টার ইনস্টল এবং শেয়ার) করতে, আপনাকে দুটি ভিন্ন কমান্ড সম্পাদন করতে হবে।
এই কমান্ডগুলি চালানোর পরে, সিস্টেমে "hp3027_Office1" নামের একটি নতুন শেয়ার্ড প্রিন্টার উপস্থিত হবে৷
প্রিন্টারের নাম পরিবর্তন করতে, শুধুমাত্র কমান্ডটি চালান:
পুনঃনামকরণ-প্রিন্টার -নাম "hp3027_1_Buh" -নতুন নাম "hp3027_F1_বেতন"
একটি মুদ্রণ সার্ভারে ইনস্টল করা প্রিন্টার তালিকা করুন
আসুন এই কম্পিউটারে ইনস্টল করা প্রিন্টারগুলির সম্পূর্ণ তালিকা প্রদর্শন করি:
গেট-প্রিন্টার
আপনি দেখতে পাচ্ছেন, কমান্ডটি প্রিন্টারের নাম, প্রকার (স্থানীয় বা নেটওয়ার্ক), ড্রাইভার, প্রিন্ট পোর্ট, প্রিন্টারটি শেয়ার করা হয়েছে এবং সক্রিয় ডিরেক্টরিতে প্রকাশিত হয়েছে কিনা তা দেখায়৷
বেশিরভাগ PrintManagement cmdlets স্থিতি দেখতে এবং প্রিন্টার, ড্রাইভার এবং প্রিন্ট সারিগুলি দূরবর্তী কম্পিউটারে (প্রিন্ট সার্ভার) পরিচালনা করতে ব্যবহার করা যেতে পারে। দূরবর্তী কম্পিউটার বা সার্ভারের নাম –ComputerName -এর একটি যুক্তি হিসাবে নির্দিষ্ট করা হয়েছে প্যারামিটার।
আপনি PowerShell কমান্ড ব্যবহার করে একটি দূরবর্তী কম্পিউটারে ইনস্টল করা প্রিন্টার সম্পর্কে তথ্য পেতে পারেন:
গেট-প্রিন্টার -কম্পিউটার নাম rome-prnt1 | ফর্ম্যাট-তালিকার নাম, ড্রাইভারের নাম
শেয়ার্ড প্রিন্টারের শুধুমাত্র একটি তালিকা প্রদর্শন করতে, কমান্ডটি ব্যবহার করুন:
গেট-প্রিন্টার -কম্পিউটার নাম rome-prnt1 | যেখানে শেয়ার করা হয়েছে -eq $true | fl নাম
PowerShell এর সাথে একটি নেটওয়ার্ক শেয়ার করা প্রিন্টারের সাথে সংযোগ করা হচ্ছে
প্রিন্ট সার্ভার থেকে শেয়ার্ড প্রিন্টার সংযোগ করতে, কমান্ডটি ব্যবহার করুন:
অ্যাড-প্রিন্টার -ConnectionName \\rome-prnt1\HP3027
Windows 10 সর্বশেষ প্রিন্টার ব্যবহার করে যা ডিফল্ট প্রিন্টার হিসাবে মুদ্রণের জন্য ব্যবহৃত হয়েছিল। আপনি যদি একটি নির্দিষ্ট ডিফল্ট প্রিন্টার ব্যবহার করতে চান, কমান্ডটি চালান:
সেট-আইটেমপ্রপার্টি -পাথ "HKCU:\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Windows" -নাম "LegacyDefaultPrinterMode" -মান 1 -Force
ডিফল্ট প্রিন্টার সেট করতে, আপনি নিম্নলিখিত কমান্ডগুলি ব্যবহার করতে পারেন:
$wsnObj =নতুন-অবজেক্ট -COM WScript.Network
$wsnObj.SetDefaultPrinter(%PrinterName%)
কিভাবে PowerShell ব্যবহার করে একটি প্রিন্টার সরাতে হয়?
একটি প্রিন্টার অপসারণ করতে, আপনাকে নিম্নলিখিত PowerShell কমান্ডটি চালাতে হবে:
প্রিন্টার সরান -নাম "hp3027_L1_O1"
আপনি Remove-PrinterDriver cmdlet ব্যবহার করে একটি নির্দিষ্ট ড্রাইভার সরাতে পারেন:
মুদ্রণ-ড্রাইভার-নাম "HP Universal Printing PCL 6"