نحوه فهرست کردن تمام سرویس های ویندوز با استفاده از PowerShell یا Command Line

برنامه های در حال اجرا که روی صفحه نمایش خود می بینید کسری از آنچه در ویندوز(Windows) اتفاق می افتد هستند. از مدیریت درایورهای دستگاه گرفته تا اطمینان از امنیت، دسته ای از فرآیندهای پس زمینه یک رایانه شخصی ویندوزی(Windows) را حفظ می کنند .

برای هر مدیر سیستمی که بر چندین رایانه نظارت می کند، مهم است که بتواند وضعیت این سرویس های حیاتی را مشاهده کند. رویکرد Task Manager برای این کار بسیار کند است و نمی‌توانید آن را با یک اسکریپت خودکار کنید.

راه حل؟ ابزارهای خط فرمان با استفاده از Command Prompt یا PowerShell(Command Prompt or PowerShell) ، می‌توانید به سرعت از سرویس‌های عملیاتی مایکروسافت(Microsoft) در حال اجرا بر روی یک سیستم مطلع شوید و به شما در تشخیص سریع هر گونه مشکل کمک کند. 

لیست خدمات (Services)ویندوز(Windows) در خط فرمان(Command Prompt)

در حالی که به اندازه Windows PowerShell انعطاف پذیر یا قدرتمند نیست ، Command Prompt(the Command Prompt) هنوز یک ابزار عالی برای مدیران سیستم است. می‌توانید از دستور queryex برای دریافت وضعیت سرویس‌های فعال و غیرفعال استفاده کنید و سپس از دستور taskkill(use the taskkill command) برای پایان دادن به فرآیندهای مزاحم استفاده کنید.

  1. برای استفاده از دستور queryex، Command Prompt را به عنوان مدیر(Administrator) اجرا کنید . با جستجوی cmd در منوی شروع می توانید برنامه را پیدا کنید.

  1. راه های زیادی برای استفاده از دستور sc queryex وجود دارد. نوع و حالت(State) دو پارامتر پرکاربرد هستند. به عنوان مثال، دستور زیر را برای مشاهده تمام  فرآیندهای ویندوز وارد کنید:(Windows)

sc queryex type=service state=all

  1. نمای پیش فرض می تواند کمی سخت باشد. شما می توانید فقط نام فرآیندها را نمایش دهید تا تجزیه لیست آسان تر شود:

sc queryex type=service state=all | find /i “SERVICE_NAME:”

  1. به‌طور پیش‌فرض، فرمان تمام فرآیندهای فعال را فهرست می‌کند. برای جستجوی موارد غیرفعال، پارامتر حالت را تغییر دهید:

sc queryex type=service state=inactive

  1. همچنین می توانید وضعیت یک فرآیند خاص را با نام آن جویا شوید. این برای مدیران سیستم فوق العاده مفید است، زیرا آنها می توانند فایل های دسته ای را برای بررسی همزمان بسیاری از فرآیندها تنظیم کنند. در اینجا یک مثال است:

جستجوی sc DeviceInstall(sc query DeviceInstall)

فهرست کردن خدمات (Services)ویندوز(Windows) در PowerShell

PowerShell یک پوسته خط فرمان اختصاصی برای ویندوز(Windows) مدرن است. به این ترتیب، دسترسی به تقریباً هر جزء سیستم عامل را از طریق دستورات فراهم می کند، و سرویس های ویندوز(Windows) نیز از این قاعده مستثنی نیستند.

مزیت PowerShell(PowerShell) این است که می توانید آن را به راحتی خودکار کنید. تمام دستورات PowerShell را می توان در اسکریپت های پیچیده کامپایل کرد و به شما این امکان را می دهد تا وظایف مدیریت سیستم را روی چندین رایانه شخصی بدون دردسر تنظیم کنید.

  1. (Start)با باز کردن PowerShell شروع کنید . می توانید آن را در منوی Start(Start Menu) جستجو کنید . فقط مطمئن شوید که یک نمونه بالا را اجرا کنید (به عنوان یک مدیر(Administrator) ).

  1. ساده ترین دستور برای فهرست کردن سرویس های ویندوز(Windows) در PowerShell ، Get-Service است. تمام خدمات موجود در رایانه شما را به همراه وضعیت و نام آنها نشان می دهد. تنها مشکل این است که لیست خدمات می تواند بسیار طولانی باشد.

  1. هنگام استفاده از Get-Service ، بهتر است لیست را به یک فایل متنی صادر کنید. شما می توانید این کار را با استفاده از لوله های زیر انجام دهید:

Get-Service | Out-File “C:\logs\All_Services.txt”

  1. برای جستجوی وضعیت یک سرویس خاص، دستور Get-Service را با نام سرویس دنبال کنید. شما می توانید وضعیت چندین پردازش را با جدا کردن نام آنها با کاما درخواست کنید.

Get-Service CryptSvc، COMSysApp

  1. همچنین می‌توان از لوله‌ها برای ترکیب cmdlet Get-Service با تابع (Get-Service)Where-Object و فیلتر کردن نتایج بر اساس وضعیت(Status) استفاده کرد. دستور زیر این موضوع را با دریافت تمام سرویس های در حال اجرا(Running) نشان می دهد:

Get-Service | Where-Object {$_.Status -EQ “Running”}

بررسی وابستگی های سرویس

هر فرآیند پیچیده ای به چندین سرویس وابسته به هم تقسیم می شود. به همین دلیل است که به سادگی دریافت وضعیت یک سرویس خاص اغلب کافی نیست. همچنین باید وضعیت خدماتی را که سرویس به آنها وابسته است بررسی کنید.

  1. برای مشاهده خدمات مورد نیاز یک سرویس خاص، از پرچم -RequiredServices با cmdlet Get-Service استفاده کنید. (Get-Service)در اینجا یک مثال است:

Get-Service -Name CryptSvc -RequiredServices

  1. به طور مشابه، برای دریافت لیستی از خدماتی که به یک سرویس خاص وابسته هستند، از پرچم -DependentServices استفاده کنید.(-DependentServices)

Get-Service -Name CryptSvc -DependentServices

این دو پرچم در نوشتن اسکریپت ها برای شروع یا توقف خودکار سرویس های ویندوز(Windows) بسیار مهم هستند ، زیرا راهی برای پیگیری تمام سرویس های مرتبط با سرویس آسیب دیده در اختیار شما قرار می دهند.

فهرست کردن خدمات (Services)ویندوز(Windows) در کامپیوترهای راه دور(Remote)

روش PowerShell به رایانه های محلی محدود نمی شود. می توانید از cmdlet Get-Service با همان نحوی که در بالا توضیح داده شد برای پرس و جوی فرآیندهای رایانه های شخصی راه دور نیز استفاده کنید. فقط پرچم (Just)-ComputerName را در انتها اضافه کنید تا مشخص کنید از کدام کامپیوتر راه دور اطلاعات را بازیابی کنید. 

در اینجا یک مثال است:

get-service CryptSvc -ComputerName Workstation7

مدیریت سرویس (Services)های ویندوز(Windows) در PowerShell

دریافت وضعیت سرویس ها تنها کاری نیست که می توانید در Windows PowerShell انجام دهید . به عنوان یک محیط اسکریپت نویسی کامل، جایگزین های اسکریپت را برای همه گزینه های رابط کاربری گرافیکی(GUI) فراهم می کند . 

cmdlet های Powershell(Powershell) می توانند سرویس ها را متوقف، شروع، راه اندازی مجدد یا حتی تغییر دهند. همراه با دستورات خودکار Get-Service ، اسکریپت های (Get-Service)PowerShell را می توان برای خودکارسازی کامل وظایف مدیریت سیستم روزانه نوشت.

  1. علاوه بر استعلام وضعیت سرویس ها، می توانید از PowerShell نیز برای مدیریت آنها استفاده کنید. شروع یا توقف خدمات را می توان با یک فرمان انجام داد که فقط به نام سرویس نیاز دارد. به عنوان مثال، به این صورت می توانید یک سرویس را متوقف کنید:

Stop-Service -Name Spooler

  1. شروع یک سرویس به همین ترتیب انجام می شود:

Start-Service -Name Spooler

  1. اگر سرویسی به درستی کار نمی کند، می توانید راه اندازی مجدد آن را نیز انتخاب کنید:

Restart-Service -Name Spooler

  1. همچنین cmdlet Set-Service وجود دارد که می تواند برای تغییر ویژگی های یک سرویس استفاده شود. در اینجا راه اندازی خودکار سرویس Print Spooler را غیرفعال می کنیم :

Set-Service 'Spooler' -StartupType غیرفعال است(Set-Service ‘Spooler’ -StartupType Disabled)

بهترین راه برای فهرست کردن (List Windows) خدمات(Services) ویندوز چیست؟

چه از ویندوز 10(Windows 10) استفاده کنید و چه از ویندوز سرور(Windows Server) ، مشاهده لیستی از تمام سرویس های ویندوز(Windows) می تواند مفید باشد. می‌توانید مشکلات مربوط به عملکردهای حیاتی سیستم را تشخیص دهید یا خدمات غیرضروری Microsoft را برای بهبود عملکرد متوقف کنید.

برای این منظور PowerShell بهترین گزینه است. در حالی که می توانید لیست خدمات را در Command Prompt دریافت کنید ، عملکرد اضافی ارائه شده توسط PowerShell مفیدتر است.

می توانید از cmdlet های PowerShell برای دریافت وضعیت سرویس فرآیندهای ویندوز(Windows) ، فیلتر کردن آنها بر اساس وضعیت یا سایر پارامترها استفاده کنید. همچنین تعیین خدمات وابسته و شروع یا توقف آنها در صورت لزوم آسان است.



About the author

من یک مهندس نرم افزار با بیش از 10 سال سابقه در زمینه مهندسی ویندوز هستم. من در توسعه برنامه‌های مبتنی بر ویندوز، و همچنین سخت‌افزار و درایورهای صوتی برای نسل بعدی سیستم‌عامل ویندوز مایکروسافت، ویندوز 11، تخصص دارم. تجربه من در ساخت برنامه‌های ویندوز، من را برای هر شرکتی که به دنبال توسعه محصولات فناوری نوآورانه است، دارایی ارزشمندی می‌کند.



Related posts