دوره‌ های آموزشی نووا
ژوئن 10, 2016

مدیریت سرویسها با CMD

Avatar photo
برنامه نویس MERN Stack
مدیریت سرویسها با CMD

سرویس ها برنامه های هستند که رابط کاربری نداشته (نه GUI نه CLI) و به صورت بلند مدت در پسزمینه ویندوز در وضعیت اجرا (Running) قرار میگیرند. به صورت پیشفرض در ویندوز بیش از چند صد سرویس وجود دارد (همانند سرویس ویندوز آپدیت و یا سرویس ویندوز فایروال) و برای مدیریت و فعال سازی آنها میتوان از روشهای متفاوتی استفاده نمود. در این مقاله قصد دارم شما را با دستور sc برای مدیریت و پیکربندی سرویس های ویندوز آشنا کنم پس در ادامه با آموزش مدیریت سرویسها با cmd همراه با نووا بلاگ باشید.

پیشنهاد: اگر علاقه به یادگیری خط فرمان ویندوز دارید به شما پیشنهاد میکنم حتما به صفحه آموزش خط فرمان سر بزنید.

برای شروع، CMD را به صورت Run As Administrator اجرا کنید میتوانید از آموزش اجرای cmd استفاده کنید تا راههای مختلف اجرای CMD را یاد بگیرید.

فعال نمودن سرویس ها

پس از اجرای CMD به صورت Run as Administrator برای فعال نمودن یک سرویس باید از دستور SC با زیر دستور Start استفاده کنید سپس نام سرویس مورد نظر را تایپ کنید. برای مثال برای فعال نمودن سرویس Windows Update دستور همانند زیر میشود:

SC Start wuauserv

نکته: هر سرویس یک نام مخفف شده دارد که باید نام مخفف شده را در جلوی دستور SC استفاده کنید. همانطور که در بالا میبینید به جای Windows Update از کلمه wuauserv استفاده شده است.

مدیریت سرویس های ویندوز با cmd
مدیریت سرویس های ویندوز با cmd

فهرست گیری از سرویس ها و درایور ها

برای فهرست گیری از سرویسهای فعال ویندوز، میتوانید از دستور sc به همراه زیر دستور Query استفاده کنید، همچنین میتوانید از پارامتر State برای مشخص کردن وضعیت سرویس ها استفاده کنید، یعنی دستور sc فقط سرویس های غیر فعال را نمایش دهد، یا کلیه سرویس ها را، برای مثال:

SC Query state= inactive

پارامتر State دارای دو انتخاب Inactive و All میباشد، گزینه Inactive فقط سرویس های غیر فعال را نمایش میدهد اما گزینه All هم سرویس های فعال را نمایش میدهد هم سرویس های غیر فعال را نمایش میدهد.

دستور بالا کلیه سرویس های غیر فعال شده را به نمایش میگذارد اما همین دستور، Driver ها را هم نمایش میدهد، برای تفکیک نمودن بین Driver ها و Services ها میتوانید از پارامتر Type استفاده کنید برای مثال:

SC Query type= Service

یا

SC Query type= Driver

غیرفعال سازی سرویس ها

برای غیرفعال سازی سرویس ها میتوانید از دستور SC به همراه زیر دستور Stop به همراه نام مخفف سرویس مورد نظر استفاده کنید. مثلا برای غیر فعال نمودن سرویس Windows Update دستور به شکل زیر نوشته میشود:

SC Stop wuauserv

پیکربندی سرویس ها

برای پیکربندی یک سرویس میتوانید از دستور SC با زیر دستور Config به همراه پارامترهای آن استفاده کنید. پارامتر Start مشخص میکند که چگونه یک سرویس اجرا شود، پارامتر Error مشخص میکند که در صورت اتفاق یک خطا چه عملی انجام شود، پارامتر Type نوع سرویس را مشخص میکند. مثلا برای فعال شدن خودکار سرویس Windows Update بعد از روشن شدن ویندوز دستور همانند زیر میشود:

SC Config wuauserv Start= Auto

برای غیر فعال نمودن اجرای خودکار سرویس در هنگام بالا آمدن ویندوز، باید از دستور SC به همراه زیر دستور Config و نام سرویس مورد نظر و پارامتر Start و گزینه Disabled استفاده کنید. برای مثال:

SC Config wuauserv Start= Disabled

پیشنهاد: شما میتوانید از دستور net با زیر دستورات start و stop سرویس های ویندوز را به صورت موقتی فعال یا غیر فعال کنید. برای فهرست گیری از سرویسهای ویندوز با دستور net کافیست دستور net start را بدون پارامتر وارد کنید.

برای دریافت اطلاعات بیشتر دستور SC را بدون هیچ پارامتری وارد کنید. اگر سوال یا انتقادی داشتید نووا بلاگ را از محبت خود دریغ نکنید، در صورت علاقه میتوانید اطلاعات خود را با ما در اشتراک بگذارید تا همه از اطلاعات مفید شما بهره مند شوند.

15 پاسخ به “مدیریت سرویسها با CMD”

  1. Avatar photo mahsa گفت:

    سلام ببخشید چه جوری میشه گزینه Shut down رو از start پاک کرد توی ویندوز ۱۰

    • سلام
      اول باید با دستور gpedit وارد Group Policy شید بعد و به آدرس زیر برید:
      User Configuration/Administrative Template/Start Menu And Taskbar
      در اینجا دنبال گزینه Remove and Prevent Access to Shutdown Restart Sleep بگردید و با دوبار کلیک کردن روی این Policy گزینه Enable رو انتخاب کنید.
      در آخر روی Apply و Ok کلیک کنید.
      موفق باشید

  2. Avatar photo محمد امین میرمحمودی گفت:

    سلام من در صفحه msconfic , قسمت general, قسمت servis, تیکشو برداشتم اما حالا بعد ریستارت حتی سرویس ورود به ویندوز غیر فعال شده من نمیتونم هیچ کاری کنم .
    ریستُر پینت ندارم ، ریکاوری بوتم ، نشد ، خواهش میکنم کمک کنید.
    ممنون از شما .

    • سلام محمد امین
      برای اینکه ویندوز به حالت اول برگرده، اول باید وارد Safe Mode بشید بعد دوباره MSConfig رو اجرا کنید و از تب General گزینه Normal Startup رو انتخاب کنید.

      نکته: اگر از ویندوز 10 استفاده میکنید باید از قسمت انتخاب ویندوز وارد گزینه های دیگر بشید (با کلید Tab) بعد گزینه Troubleshoot رو انتخاب کنید و بعد از اون وارد گزینه Advanced Option بشید و بعدش وارد گزینه Startup Setting بشید و در آخر روی Restart کلیک کنید.
      بعد از اینکه سیستم ریستارت شد و Option های اجرای ویندوز نمایان شدند کلید F4 یا عدد 4 رو بفشارید تا وارد Safe Mode بشید.
      موفق باشید.

      • Avatar photo محمد امین میرمحمودی گفت:

        این مراحلو در یو اس بی بوتیبل ویندوز انجام میدادم ارور دسترسی میداد اما بعد از چند بار ری استارت خود ویندوز به حالت Troubleshoot رفت و مراحلی گفتین تونستم انجام بدم.
        ممنون از راهنماییتون .

  3. Avatar photo احمد گفت:

    سلام
    دستور sc یه سویچ به اسم Lock داره میخواستم بدونم چکار میکنه. نوشته دیتابیس رو قفل میکنه. منظورش چیه؟

    من میخوام سرویس آپدت ویندوزو بجای اینکه پاکش کنم قفلش کنم و وقتی کارم با اینترنت تموم شد دوباره فعالش کنم. آیا با این دستور میشه انجامش داد؟ یا باز خودش فعال میشه.

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

    • سلام احمد جان
      واقعیتش اینکه تا به حال از این سویچ استفاده نکردم و نمیدونم چیکار میکنه (sc lock service)، هیچ doc مشخصی هم براش پیدا نکردم که به صورت کامل توضیح داده باشه که دقیقا چه دیتابیس رو قفل میکنه احتمالا باید از یک متخصص MCSE بپرسیم 🙂
      اصلا نباید سرویس آپدیت ویندوز رو حذف میکردید و اینکه سویچ lock هم ربطی به غیر فعال کردن سرویس نداره، شما باید از سویچ stop استفاده کنید. خیلی ساده میتونید سرویس رو با سویچ stop غیر فعال کنید و با سویچ config هم تنظیم کنید تا به صورت خودکار فعال نشه، برای مثال:

      SC Stop wuauserv
      SC Config wuauserv Start= Disabled

      برای اینکه دوباره به حالت اول هم برگردونید باید از دستورات زیر استفاده کنید:

      SC Config wuauserv Start= Auto
      SC Start wuauserv

      اگر میخواهید سرویس Windows Update رو دوباره بسازید باید از دستور زیر استفاده کنید:

      sc create wuauserv2 type= share start= auto binpath= "C:\WINDOWS\system32\svchost.exe -k netsvcs -p" Depend= rpcss DisplayName= "Windows Update"
  4. Avatar photo abd گفت:

    سلام وقت بخیر
    با دستور زیر یک سرویس در ویندوز سرور 2012R2 ساختم
    sc create tom type= share start= auto binpath= “D:\LABLEAD\apache-tomcat-8.5.32\bin\startup.bat” DisplayName= “LABLEAD”
    اما موقعی که اجرا start میکنم خطای 1053 میده
    میشه لطفا راهنمایی کنید
    ممنونم

  5. Avatar photo مهدی گفت:

    سلام میشه یک سرویس رو در صورتی که با خطا خورد به طور خودکار start کرد

  6. Avatar photo SM گفت:

    سلام.

    به صورت اتفاقی این صفحه را دیدم و چون پاسخی به این بخش سوال (SC Lock) ثبت نشده بود، گفتم شاید این مطلب برای سایر دوستان مفید باشد.

    قفل کردن پایگاه داده Service Control Manager از شروع هرگونه سرویسی، جلوگیری می کند. اگر می خواهید مطمئن شوید که سرویس، پس از متوقف شدن شروع نمی شود، از این دستور استفاده کنید و شما را قادر می سازد تا بدون تداخل، عملی (مثلاً حذف سرویس) را انجام دهید.

    اطلاعات بیشتر را در سایت مایکروسافت و از این آدرس می توانید ملاحظه فرمایید:
    https://docs.microsoft.com/en-us/previous-versions/windows/it-pro/windows-server-2012-r2-and-2012/cc742176(v=ws.11)

  7. Avatar photo فرزاد گفت:

    سلام خسته نباشید
    من میخوام چندتا سرویس به صورت اتوماتیک restart بشند با پاورشل. و البته به صورت run as admin.
    میدونم دستورش اینه :(اسم سرویس) restart-service ولی نمیدونم چطوری run as admin کنم و چطوری اتوماتیک .
    ممنون میشم توضیح بدید

    • سلام
      برای انجام اینکار راههای متفاوتی وجود داره، شما میتونید از دستورات پاورشل تون یک اسکریپت با پسوند ps1 ایجاد کنید، سپس یک تسک در task scheduler ویندوز ایجاد کنید که فایل ps1 رو برای شما به صورت run as admin اجرا کنه
      فقط تو ایجاد task باید در قسمت program از مقدار powershell استفاده کنید و در بخش argument ادرس کامل اسکریپت ایجاد شده رو بدید.

  8. Avatar photo مصطفی گفت:

    سلام ببخشید من سرویس هایی که هنگام بالا امدن ویندوز باعث میشد رمز عبور رو بزنیم وار صفحه اصلی بشیم رو اشتباهی خاموش کردم و حالا پشت صفحه رمز عبور گیر کردم و هی خطا میده مشکلی پیش امده، لطفا اگر اسم این سرویس رو میدونید بگید تا من از قسمت CMD فعال کنم البته اگه بشه، واقعا میشه فعال کرد یا بدبخت شدم؟

  9. Avatar photo مصطفی گفت:

    سلام ببخشید من سرویس هایی که هنگام بالا امدن ویندوز باعث میشد رمز عبور رو بزنیم وار صفحه اصلی بشیم رو اشتباهی خاموش کردم و حالا پشت صفحه رمز عبور گیر کردم و هی خطا میده مشکلی پیش امده، لطفا اگر اسم این سرویس رو میدونید بگید تا من از قسمت CMD فعال کنم البته اگه بشه، واقعا میشه فعال کرد یا بدبخت شدم؟، لطفا کامل بگید که اول از کدوم کد دستوری هم استفاده میشه این سرویس، sc یا net، و بگید که بعد از زدن کد فعال سازی سرویس باید CMD رو چجوری ببندیم یا از کجا تایید کنیم که بره برای اجرا اگه لطفا کنید بگید خیلی ممنون میشم

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

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *