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

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

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

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

لیست کردن خدمات ویندوز در خط فرمان

در حالی که به اندازه Windows PowerShell منعطف یا قدرتمند نیست، خط فرمان هنوز یک ابزار عالی برای مدیران سیستم است. می‌توانید از فرمان queryex برای دریافت وضعیت سرویس‌های فعال و غیرفعال و سپس از دستور taskkill استفاده کنید برای پایان دادن به فرآیندهای مزاحم استفاده کنید.

  1. برای استفاده از دستور queryex، Command Prompt را به عنوان مدیر اجرا کنید. می‌توانید با جستجوی cmd در منوی شروع، برنامه را پیدا کنید.
    1. راههای زیادی برای استفاده از دستور sc queryex وجود دارد. نوع و حالت دو پارامتر پرکاربرد هستند. برای مثال، دستور زیر را برای مشاهده همه فرآیندهای ویندوز وارد کنید:
    2. sc queryex type=service state=all

      1. نمای پیش فرض ممکن است کمی سخت باشد. می‌توانید فقط نام فرآیندها را نمایش دهید تا تجزیه فهرست آسان‌تر شود:
      2. sc queryex type=service state=all | /i "SERVICE_NAME:"

          را پیدا کنید
      3. به‌طور پیش‌فرض، فرمان تمام فرآیندهای فعال را فهرست می‌کند. برای جستجوی موارد غیرفعال، پارامتر حالت را تغییر دهید:
      4. sc queryex type=service state=inactive

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

          لیست کردن خدمات ویندوز در PowerShell

          .

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

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

          1. با باز کردن PowerShell شروع کنید. می توانید آن را در منوی Start جستجو کنید. فقط مطمئن شوید که یک نمونه بالا را اجرا کنید (به عنوان مثال، به عنوان یک مدیر).
            1. ساده ترین دستور برای فهرست کردن خدمات ویندوز در PowerShell Get-Service است. تمام خدمات موجود در رایانه شما را به همراه وضعیت و نام آنها نشان می دهد. تنها مشکل این است که لیست خدمات می تواند بسیار طولانی باشد.
              1. هنگام استفاده از Get-Service ، بهتر است لیست را به یک فایل متنی صادر کنید. می توانید این کار را با استفاده از لوله ها انجام دهید، مانند این:
              2. دریافت خدمات | خارج از فایل "C:\logs\All_Services.txt"

                1. برای جستجوی وضعیت یک سرویس خاص، دستور Get-Service را با نام سرویس دنبال کنید. می‌توانید وضعیت چندین فرآیند را با جدا کردن نام آنها با کاما درخواست کنید.
                2. Get-Service CryptSvc، COMSysApp

                  1. از لوله‌ها همچنین می‌توان برای ترکیب cmdlet Get-Service با تابع Where-Object و فیلتر کردن نتایج بر اساس وضعیت استفاده کرد. دستور زیر این موضوع را با دریافت تمام سرویس های در حال اجرا نشان می دهد:
                  2. دریافت خدمات | Where-Object {$_.Status -EQ "Running"}

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

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

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

                      Get-Service -Name CryptSvc –RequiredServices

                      1. به طور مشابه، برای دریافت لیستی از خدماتی که به یک سرویس خاص وابسته هستند، از پرچم -DependentServices استفاده کنید.
                      2. Get-Service -Name CryptSvc -DependentServices

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

                        لیست کردن خدمات ویندوز در رایانه های راه دور

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

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

                        get-service CryptSvc -ComputerName Workstation7

                        مدیریت خدمات ویندوز در PowerShell

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

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

                        1. علاوه بر پرس و جو از وضعیت سرویس ها، می توانید از PowerShell نیز برای مدیریت آنها استفاده کنید. شروع یا توقف خدمات را می توان با یک فرمان انجام داد که فقط به نام سرویس نیاز دارد. به عنوان مثال، اینگونه می توانید یک سرویس را متوقف کنید:
                        2. Stop-Service -Name Spooler

                          1. راه اندازی یک سرویس به همین صورت انجام می شود:
                          2. Start-Service -Name Spooler

                            1. اگر سرویسی درست کار نمی‌کند، می‌توانید راه‌اندازی مجدد آن را نیز انتخاب کنید:
                            2. Restart-Service -Name Spooler

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

                                Set-Service "Spooler" -StartupType غیرفعال شده

                                بهترین راه برای فهرست کردن خدمات ویندوز چیست؟

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

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

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

                                .

                                پست های مرتبط:


                                26.06.2022