কম্পিউটার

কিভাবে PowerShell দিয়ে উইন্ডোজ সার্ভিস ম্যানেজ করবেন?

আপনি শুধুমাত্র services.msc snap-in বা sc.exe কমান্ড লাইন টুল থেকে নয়, PowerShell ব্যবহার করেও উইন্ডোজ পরিষেবাগুলি পরিচালনা করতে পারেন। এই প্রবন্ধে আমরা PowerShell-এর সাহায্যে Windows পরিষেবাগুলি পরিচালনার বিভিন্ন পরিস্থিতি বিবেচনা করব।

Windows পরিষেবাগুলি পরিচালনা করতে ব্যবহৃত PowerShell Cmdlets

Windows পরিষেবাগুলির অবস্থা দেখতে এবং সেগুলি পরিচালনা করার জন্য আটটি মৌলিক পরিষেবা cmdlet রয়েছে৷ পরিষেবা পরিচালনার cmdlet এর সম্পূর্ণ তালিকা পেতে, এই কমান্ডটি চালান:

Get-Help \*-Service

কিভাবে PowerShell দিয়ে উইন্ডোজ সার্ভিস ম্যানেজ করবেন?

  • গেট-সার্ভিস — চলমান বা বন্ধ অবস্থায় স্থানীয় বা দূরবর্তী কম্পিউটারে পরিষেবাগুলি পেতে অনুমতি দেয়;
  • নতুন-পরিষেবা - একটি পরিষেবা তৈরি করে। cmdlet রেজিস্ট্রি এবং পরিষেবা ডাটাবেসে একটি Windows পরিষেবার জন্য একটি নতুন এন্ট্রি তৈরি করে;
  • রিস্টার্ট-পরিষেবা - একটি পরিষেবা পুনরায় আরম্ভ করে। cmdlet উইন্ডোজ সার্ভিস কন্ট্রোলারের মাধ্যমে রিস্টার্ট মেসেজ পাঠায়;
  • রিজুমে-পরিষেবা - একটি পরিষেবা পুনরায় শুরু করে। cmdlet উইন্ডোজ সার্ভিস ম্যানেজারকে একটি জীবনবৃত্তান্ত বার্তা পাঠায়;
  • সেট-পরিষেবা — একটি স্থানীয় বা দূরবর্তী পরিষেবার সেটিংস পরিবর্তন করে, এর অবস্থা, বিবরণ, প্রদর্শিত নাম বা স্টার্টআপ মোড সহ। আপনি এই cmdlet একটি পরিষেবা শুরু, বন্ধ বা স্থগিত করতেও ব্যবহার করতে পারেন;
  • স্টার্ট-সার্ভিস - একটি পরিষেবা শুরু করে;
  • স্টপ-সার্ভিস – একটি পরিষেবা বন্ধ করে (cmdlet উইন্ডোজ সার্ভিস ম্যানেজারকে একটি স্টপিং বার্তা পাঠায়);
  • সাসপেন্ড-পরিষেবা - একটি পরিষেবা স্থগিত করে। একটি স্থগিত পরিষেবা এখনও চলছে, কিন্তু এটি (উদাহরণস্বরূপ, Resume-Service cmdlet) ব্যবহার করে পুনরায় চালু না হওয়া পর্যন্ত এটি কিছু করে না।

আপনি Get-Help এর সাথে একটি নির্দিষ্ট cmdlet ব্যবহার করার একটি বিশদ বিবরণ এবং উদাহরণ পেতে পারেন:

Get-Help Start-Service

কিভাবে PowerShell দিয়ে উইন্ডোজ সার্ভিস ম্যানেজ করবেন?

গেট-সার্ভিস দিয়ে কিভাবে উইন্ডোজ সার্ভিস স্ট্যাটাস চেক করবেন?

আপনি Get-Service ব্যবহার করে একটি স্থানীয় বা দূরবর্তী কম্পিউটারে পরিষেবাগুলির তালিকা এবং তাদের অবস্থা (চলমান/বন্ধ) পেতে পারেন cmdlet। –নাম পরামিতি নামের দ্বারা পরিষেবাগুলি নির্বাচন করার অনুমতি দেয়। ওয়াইল্ডকার্ড অক্ষর * ব্যবহার করে পরিষেবার নাম নির্দিষ্ট করা যেতে পারে .

কিভাবে PowerShell দিয়ে উইন্ডোজ সার্ভিস ম্যানেজ করবেন?

আপনি যদি সঠিক পরিষেবার নাম না জানেন, তাহলে আপনি এটির প্রদর্শিত নামটি ব্যবহার করে খুঁজে পেতে পারেন –DisplayName প্যারামিটার আপনি মান এবং ওয়াইল্ডকার্ডের তালিকা ব্যবহার করতে পারেন।

কিভাবে PowerShell দিয়ে উইন্ডোজ সার্ভিস ম্যানেজ করবেন?

গেট-সার্ভিস ব্যবহার করুন -ComputerName সহ cmdlet একটি দূরবর্তী কম্পিউটারে পরিষেবার অবস্থা পেতে পরামিতি। আপনি একাধিক দূরবর্তী কম্পিউটারে কমা দ্বারা পৃথক করা তাদের নাম উল্লেখ করে একবারে পরিষেবার স্থিতি জিজ্ঞাসা করতে পারেন। উদাহরণস্বরূপ, নীচে দেখানো কমান্ডটি দূরবর্তী কম্পিউটার ny-prnt1 এবং ny-prnt2-এ স্পুলার পরিষেবার স্থিতি পায়।

Get-Service spooler –ComputerName ny-prnt1,ny-prnt2

Status Name DisplayName
------ ---- -----------
Running spooler Print Spooler
Stopped spooler Print Spooler

একটি পরিষেবার সমস্ত বৈশিষ্ট্য প্রদর্শন করতে, নির্বাচন-বস্তু ব্যবহার করুন৷ cmdlet:

Get-Service spooler | Select-Object *

কিভাবে PowerShell দিয়ে উইন্ডোজ সার্ভিস ম্যানেজ করবেন?

সিলেক্ট-অবজেক্ট cmdlet একটি পরিষেবার নির্দিষ্ট বৈশিষ্ট্য পেতে অনুমতি দেয়। উদাহরণস্বরূপ, আপনি স্পুলার পরিষেবার নাম, স্থিতি এবং উপলব্ধ বিকল্পগুলি দেখতে চান:

Get-Service Spooler | Select DisplayName,Status,ServiceName,Can* নির্বাচন করুন

কিভাবে PowerShell দিয়ে উইন্ডোজ সার্ভিস ম্যানেজ করবেন?

গেট-সার্ভিস cmdlet-এর দুটি প্যারামিটার রয়েছে যা আপনাকে পরিষেবা নির্ভরতা দেখতে দেয়:

  • -নির্ভর পরিষেবাগুলি প্রদত্ত পরিষেবার উপর নির্ভরশীল পরিষেবাগুলি প্রদর্শন করার অনুমতি দেয়
  • -প্রয়োজনীয় পরিষেবাগুলি৷ প্রদত্ত পরিষেবার উপর নির্ভরশীল পরিষেবাগুলি প্রদর্শন করে

নিম্নলিখিত কমান্ডটি স্পুলার পরিষেবা শুরু করার জন্য প্রয়োজনীয় পরিষেবাগুলি প্রদর্শন করে:

Get-Service –Name Spooler -RequiredServices

কিভাবে PowerShell দিয়ে উইন্ডোজ সার্ভিস ম্যানেজ করবেন?

নিম্নলিখিত কমান্ডটি স্পুলারের উপর নির্ভরশীল পরিষেবাগুলি দেখায়:

Get-Service –Name Spooler -DependentServices

কিভাবে PowerShell দিয়ে উইন্ডোজ সার্ভিস ম্যানেজ করবেন?

আপনি যদি নির্দিষ্ট অবস্থা বা পরামিতি সহ পরিষেবাগুলি খুঁজে পেতে চান তবে কোথায়-অবজেক্ট ব্যবহার করুন cmdlet। উদাহরণ স্বরূপ, চলুন চলমান পরিষেবার তালিকাটি পান:

Get-Service | Where-Object {$_.status -eq 'running'}

কিভাবে PowerShell দিয়ে উইন্ডোজ সার্ভিস ম্যানেজ করবেন?

ম্যানুয়াল স্টার্টআপ টাইপ সহ পরিষেবাগুলি প্রদর্শন করতে, এই কমান্ডটি চালান:

Get-Service | Where-Object {$_.starttype -eq 'Manual'}

কিভাবে PowerShell দিয়ে উইন্ডোজ সার্ভিস ম্যানেজ করবেন?

একটি বর্তমান কম্পিউটারে একটি নির্দিষ্ট Windows পরিষেবা বিদ্যমান কিনা তা পরীক্ষা করতে নিম্নলিখিত PowerShell স্ক্রিপ্টটি ব্যবহার করুন:

if (Get-Service "ServiceTest" -ErrorAction SilentlyContinue)
{
Write-host "ServiceTest exists"
}

কিভাবে PowerShell দিয়ে পরিষেবা বন্ধ, শুরু বা পুনরায় চালু করবেন?

আপনি Stop-Service ব্যবহার করে একটি পরিষেবা বন্ধ করতে পারেন৷ cmdlet। স্পুলার বন্ধ করতে, কমান্ডটি চালান:

Stop-Service -Name spooler

স্টপ-সার্ভিস cmdlet কার্যকর করার পরে কিছু প্রদর্শন করে না। ফলাফল দেখতে, -PassThru ব্যবহার করুন প্যারামিটার।

কিভাবে PowerShell দিয়ে উইন্ডোজ সার্ভিস ম্যানেজ করবেন?

দয়া করে মনে রাখবেন যে প্রতিটি পরিষেবা বন্ধ করা যাবে না। যদি কোনও নির্ভরশীল পরিষেবা থাকে তবে আপনি একটি ত্রুটি দেখতে পাবেন:

Cannot stop service because it has dependent services. It can only be stopped if force flag set.

কিভাবে PowerShell দিয়ে উইন্ডোজ সার্ভিস ম্যানেজ করবেন?

একটি পরিষেবা বন্ধ করতে বাধ্য করতে, –ফোর্স ব্যবহার করুন৷ প্যারামিটার আপনার মনে রাখা উচিত যে সমস্ত নির্ভরশীল পরিষেবাগুলিও বন্ধ হয়ে যাবে:

Stop-Service samss –Force -Passthru

নিম্নলিখিত কমান্ডটি নির্দিষ্ট পরিষেবাগুলি (বিট, স্পুলার) বন্ধ করবে যদি তারা "চলমান" অবস্থায় থাকে:

get-service bits,spooler | where {$_.status -eq 'running'} | stop-service –passthru

কিভাবে PowerShell দিয়ে উইন্ডোজ সার্ভিস ম্যানেজ করবেন?

কখনও কখনও পরিষেবাগুলি "স্টপিং" অবস্থায় বন্ধ হয়ে যায় এবং জোর করে হত্যা করতে হয়।

স্টার্ট-সার্ভিস cmdlet একটি বন্ধ পরিষেবা শুরু করে:

Start-Service -Name spooler -PassThru

কিভাবে PowerShell দিয়ে উইন্ডোজ সার্ভিস ম্যানেজ করবেন?

একটি পরিষেবা শুরু হবে না, যদি এর কোনো নির্ভরশীল পরিষেবা বন্ধ করা হয়। সেগুলি খুঁজে পেতে এবং শুরু করতে নিম্নলিখিত PowerShell ওয়ান-লাইনার ব্যবহার করুন:

get-service samss | Foreach { start-service $_.name -passthru; start-service $_.DependentServices -passthru}

কিভাবে PowerShell দিয়ে উইন্ডোজ সার্ভিস ম্যানেজ করবেন?

সাসপেন্ড-সার্ভিস cmdlet পরিষেবাগুলি থামাতে পারে যদি তারা এই অবস্থাটিকে সমর্থন করে। একটি পরিষেবা স্থগিত করা যেতে পারে কিনা তা জানতে, Get-Service ব্যবহার করুন৷ CanPauseAnd Continue সহ cmdlet সম্পত্তি।

Get-Service samss | Format-List name, canpauseandcontinue

কিভাবে PowerShell দিয়ে উইন্ডোজ সার্ভিস ম্যানেজ করবেন?

পজ করা হতে পারে এমন সমস্ত পরিষেবার তালিকা প্রদর্শন করতে, এই কমান্ডটি চালান:

Get-Service | Where-Object {$_.canpauseandcontinue -eq "True"}

কিভাবে PowerShell দিয়ে উইন্ডোজ সার্ভিস ম্যানেজ করবেন?

এসকিউএল ব্রাউজার পরিষেবা স্থগিত করা যাক:

Suspend-Service -Name SQLBrowser

কিভাবে PowerShell দিয়ে উইন্ডোজ সার্ভিস ম্যানেজ করবেন?

একটি স্থগিত পরিষেবা পুনরায় শুরু করতে, পুনরায়-পরিষেবা ব্যবহার করুন৷ cmdlet:

Resume-Service -Name SQLBrowser

কিভাবে PowerShell দিয়ে উইন্ডোজ সার্ভিস ম্যানেজ করবেন?

নিম্নলিখিত কমান্ডটি সমস্ত স্থগিত পরিষেবাগুলি পুনরায় চালু করবে:

get-service | where-object {$_.Status -eq "Paused"} | resume-service

রিস্টার্ট-পরিষেবা cmdlet একটি পরিষেবা পুনরায় চালু করবে:

Restart-Service -Name spooler

কিভাবে PowerShell দিয়ে উইন্ডোজ সার্ভিস ম্যানেজ করবেন?

এই কমান্ডটি একটি কম্পিউটারে সমস্ত বন্ধ নেটওয়ার্ক পরিষেবাগুলি শুরু করে:

get-service net* | where-object {$_.Status -eq "Stopped"} | restart-service

এই কমান্ডগুলিতে –কম্পিউটার নাম নেই৷ প্যারামিটার, কিন্তু আপনি Invoke-Command cmdlet বা একটি পাইপ ব্যবহার করে একটি দূরবর্তী কম্পিউটারে এগুলি চালাতে পারেন৷

উদাহরণস্বরূপ, দূরবর্তী কম্পিউটার ny-prnt1-এ একটি প্রিন্ট স্পুলার পুনরায় চালু করতে, কমান্ডটি চালান:
Get-Service Spooler -ComputerName ny-prnt1 | Start-Service

ডিফল্টরূপে, শুধুমাত্র অ্যাডমিনিস্ট্রেটররাই Windows পরিষেবাগুলি শুরু/বন্ধ করতে পারে, তবে আপনি নন-প্রশাসক ব্যবহারকারীদের একটি নির্দিষ্ট পরিষেবাতে শুরু/বন্ধ/পুনরারম্ভ করার অনুমতি দিতে পারেন।

পরিষেবা সেটিংস পরিবর্তন করতে সেট-সার্ভিস ব্যবহার করা

সেট-পরিষেবা cmdlet আপনাকে স্থানীয় বা দূরবর্তী কম্পিউটারে পরিষেবার যে কোনো প্যারামিটার বা সেটিংস পরিবর্তন করতে দেয়। যেহেতু একটি পরিষেবার অবস্থা একটি সম্পত্তি, আপনি একটি পরিষেবা শুরু, বন্ধ বা স্থগিত করতে এই cmdlet ব্যবহার করতে পারেন৷ সেট-পরিষেবা -StartupType আছে প্যারামিটার যা একটি পরিষেবার স্টার্টআপ প্রকার পরিবর্তন করতে দেয়।

স্পুলার স্টার্টআপের ধরনটি স্বয়ংক্রিয়ভাবে পরিবর্তন করা যাক:

Set-Service spooler –startuptype automatic –passthru

কিভাবে PowerShell দিয়ে উইন্ডোজ সার্ভিস ম্যানেজ করবেন?

আপনি ম্যানুয়াল স্টার্টআপ টাইপ সেট করতে পারেন:

Set-Service spooler –startuptype manual –passthru

কিভাবে PowerShell দিয়ে উইন্ডোজ সার্ভিস ম্যানেজ করবেন?

কিভাবে PowerShell এর মাধ্যমে একটি Windows পরিষেবা তৈরি বা মুছবেন?

নতুন-পরিষেবা - উইন্ডোজে একটি নতুন পরিষেবা তৈরি করার জন্য একটি cmdlet। নতুন পরিষেবার জন্য নাম এবং এক্সিকিউটেবল ফাইলটি নির্দিষ্ট করুন (আপনি Windows পরিষেবা হিসাবে একটি PowerShell স্ক্রিপ্টও চালাতে পারেন)।

আসুন TestSvc নামে একটি নতুন পরিষেবা তৈরি করি:

new-service -name TestSvc -binaryPathName "C:\WINDOWS\System32\svchost.exe -k netsvcs"

কিভাবে PowerShell দিয়ে উইন্ডোজ সার্ভিস ম্যানেজ করবেন?

Get-WmiObject cmdlet ব্যবহার করে স্টার্টআপ প্রকার এবং পরিষেবার বিবরণ সম্পর্কে তথ্য পান৷

get-wmiobject win32_service -filter "name='testservice'"

কিভাবে PowerShell দিয়ে উইন্ডোজ সার্ভিস ম্যানেজ করবেন?

আপনি নিম্নলিখিত কমান্ড ব্যবহার করে নতুন পরিষেবার সেটিংস পরিবর্তন করতে পারেন:

Set-Service -Name TestSvc -Description ‘My Service’ -StartupType Manual

কিভাবে PowerShell দিয়ে উইন্ডোজ সার্ভিস ম্যানেজ করবেন?

একটি পরিষেবা মুছে ফেলতে, এই কমান্ডটি চালান:

(Get-WmiObject win32_service -Filter ″name=′TestSvc′″).delete()

উইন্ডোজ পরিষেবা চালায় এমন ব্যবহারকারীর অ্যাকাউন্ট পরিবর্তন করুন

আপনি একটি পরিষেবা শুরু করতে ব্যবহৃত ব্যবহারকারীর অ্যাকাউন্ট পরিবর্তন করতে PowerShell ব্যবহার করতে পারেন। TestSvc শুরু করতে ব্যবহৃত অ্যাকাউন্টের নাম পান:

get-wmiobject win32_service -filter "name='TestSvc'" | Select name,startname নির্বাচন করুন

কিভাবে PowerShell দিয়ে উইন্ডোজ সার্ভিস ম্যানেজ করবেন?

একটি Windows পরিষেবার জন্য ব্যবহারকারীর নাম এবং পাসওয়ার্ড পরিবর্তন করতে, নিম্নলিখিত কমান্ডগুলি চালান:

$svc = get-wmiobject win32_service -filter "name='TestSvc'"
$svc.GetMethodParameters("change")

পরিবর্তন() পদ্ধতির পরামিতিগুলির তালিকা প্রদর্শিত হয়। StartName এবং StartPassword প্যারামিটারগুলি কোথায় আছে তা গণনা করুন:তারা 20 th এ অবস্থিত এবং 21 st স্থান যথাক্রমে।

কিভাবে PowerShell দিয়ে উইন্ডোজ সার্ভিস ম্যানেজ করবেন?

$svc | Invoke-WmiMethod -Name Change –ArgumentList @ ($null,$null,$null,$null,$null,$null,$null, $null,$null,$null,$null,$null,$null,$null,$null,$null, $null,$null,$null,"Administrator","!123Pa$$w0rd")

অথবা আপনি একটি gMSA অ্যাকাউন্টের নাম লিখতে পারেন (এই ক্ষেত্রে অ্যাকাউন্টের পাসওয়ার্ড নির্দিষ্ট করা নেই)।

আপনি দেখতে পাচ্ছেন, পাওয়ারশেল উইন্ডোজ পরিষেবাগুলি পরিচালনা করা সহজ করে তোলে। আপনি পরিষেবাগুলি তৈরি করতে, বন্ধ করতে, শুরু করতে বা পুনরায় শুরু করতে এবং তাদের বৈশিষ্ট্যগুলি পরিবর্তন করতে পারেন৷ বেশিরভাগ cmdlets দূরবর্তী কম্পিউটারে পরিষেবাগুলি পরিচালনা করার অনুমতি দেয়৷


  1. কিভাবে Windows 10 এ PowerShell দিয়ে ইনস্টল করা প্রোগ্রামগুলির একটি তালিকা তৈরি করবেন

  2. কিভাবে Windows 10 এ PowerShell 7.0 ইনস্টল করবেন

  3. Windows 11 এ Powershell কিভাবে আপডেট করবেন

  4. কিভাবে উইন্ডোজ ট্যাগ দিয়ে ফাইল এবং ফোল্ডার পরিচালনা করবেন