دستور SC در CMD
در این بخش به بررسی دستور SC در CMD می پردازیم، دستور SC
(Service Control) یکی از دستورات قدرتمند در محیط Command Prompt ویندوز است که به مدیران سیستم و کاربران پیشرفته اجازه میدهد تا به راحتی سرویسهای ویندوز را مدیریت کنند. سرویسها برنامههایی هستند که در پسزمینه سیستم عامل اجرا میشوند و وظایف مختلفی را انجام میدهند، از مدیریت شبکه گرفته تا تأمین امنیت سیستم. دسترسی به سرویسها و کنترل آنها از طریق رابط گرافیکی (مانند Services.msc) ممکن است برای کارهای پیچیده زمانبر باشد، در اینجا SC
میتواند به عنوان یک ابزار کارآمد و سریع به کمک بیاید.
از آنجایی که مدیریت سرویسها برای نگهداری، پشتیبانی و بهبود عملکرد سیستمهای ویندوزی ضروری است، آشنایی با دستور SC
و کاربردهای آن برای هر مدیر سیستم و حتی کاربر حرفهای میتواند بسیار سودمند باشد. در این مقاله، به صورت جامع و گامبهگام با این دستور و کاربردهای متنوع آن آشنا خواهیم شد و در نهایت چندین مثال کاربردی برای درک بهتر هر دستور ارائه میدهیم.
معرفی دستور SC و کاربردهای آن
دستور SC
یکی از ابزارهای خط فرمان ویندوز است که به کاربران امکان میدهد سرویسهای سیستم را ایجاد، مدیریت و پیکربندی کنند. این دستور میتواند برای کارهایی مانند شروع و توقف سرویسها، حذف یا ایجاد سرویسهای جدید، تنظیم پارامترهای سرویس، و نمایش وضعیت یک سرویس استفاده شود.
به طور کلی، دستور SC
از ساختار زیر پیروی میکند:
sc <ServerName> Command ServiceName <OptionName=OptionValue...>
در این ساختار:
- ServerName (اختیاری) برای اتصال به سرورهای از راه دور استفاده میشود.
- Command دستوری است که قصد اجرای آن را دارید (مانند start، stop، config و …).
- ServiceName نام سرویسی است که میخواهید آن را مدیریت کنید.
- OptionName=OptionValue تنظیمات و پارامترهایی هستند که میتوانید به دستور اضافه کنید.
کاربردهای اصلی دستور SC
۱. نمایش وضعیت سرویس: دستور sc query ServiceName
برای نمایش وضعیت فعلی یک سرویس خاص استفاده میشود. ۲. شروع و توقف سرویسها: میتوانید از sc start
و sc stop
برای شروع و توقف سرویسها استفاده کنید. ۳. ایجاد سرویس جدید: با استفاده از sc create
میتوانید یک سرویس جدید ایجاد کنید. ۴. حذف سرویس: دستور sc delete
برای حذف یک سرویس موجود به کار میرود. ۵. پیکربندی سرویس: میتوانید از sc config
برای تنظیم پارامترهای مختلف یک سرویس استفاده کنید.
نمایش و بررسی وضعیت سرویسها
یکی از رایجترین کاربردهای دستور SC
، نمایش وضعیت یک سرویس خاص است. این قابلیت به مدیران سیستم اجازه میدهد تا مطمئن شوند سرویسهای مهم به درستی در حال اجرا هستند و یا در صورت نیاز، جزئیات خطاها را بررسی کنند. برای مثال، با استفاده از دستور زیر میتوانید وضعیت سرویس wuauserv
(سرویس بهروزرسانی ویندوز) را بررسی کنید:
sc query wuauserv
خروجی این دستور شامل اطلاعاتی مانند:
- State: وضعیت فعلی سرویس (مانند RUNNING، STOPPED).
- PID: شماره پردازش مربوط به سرویس.
- Service Type: نوع سرویس (مانند WIN32_OWN_PROCESS).
توضیح دقیق خروجی دستور
- SERVICE_NAME: نام داخلی سرویس که در سیستم تعریف شده است.
- TYPE: نوع سرویس، که معمولاً به صورت
WIN32_OWN_PROCESS
یاWIN32_SHARE_PROCESS
نمایش داده میشود. - STATE: وضعیت فعلی سرویس که میتواند مقادیری مانند
STOPPED
(متوقف) یاRUNNING
(در حال اجرا) باشد. - WIN32_EXIT_CODE: کد خطای ویندوز در صورت توقف یا خطای سرویس.
- SERVICE_EXIT_CODE: کد خروج اختصاصی سرویس در صورت وقوع خطا.
- CHECKPOINT: در حین شروع یا توقف سرویس، نشانگر پیشرفت عملیات است.
- WAIT_HINT: نشاندهنده زمانی است که سرویس برای تکمیل یک عملیات انتظار میکشد.
شروع، توقف و راهاندازی مجدد سرویسها
برای مدیریت سرویسهای در حال اجرا، دستورات start
، stop
و restart
استفاده میشوند. این دستورات به شما امکان میدهند تا سرویسها را به صورت دستی مدیریت کنید.
مثال: شروع یک سرویس
فرض کنید میخواهید سرویس wuauserv
را که مربوط به بهروزرسانی ویندوز است، شروع کنید. دستور زیر را وارد کنید:
sc start wuauserv
پس از اجرای این دستور، اگر سرویس با موفقیت شروع شود، پیغام SERVICE_START_PENDING
نمایش داده میشود و در نهایت وضعیت سرویس به RUNNING
تغییر میکند.
مثال: توقف یک سرویس
مثال: راهاندازی مجدد سرویس
بر خلاف دستورات GUI، در محیط CMD هیچ دستور مستقیمی برای راهاندازی مجدد سرویسها وجود ندارد. برای این کار میتوانید ابتدا سرویس را متوقف و سپس آن را مجدداً شروع کنید:
sc stop wuauserv
sc start wuauserv
ایجاد و حذف سرویسها
مدیران سیستم گاهی نیاز دارند که سرویسهای جدیدی را برای نرمافزارهای اختصاصی یا سفارشی ایجاد کنند. دستور sc create
این امکان را فراهم میکند.
نحوه ایجاد یک سرویس جدید
فرض کنید میخواهید یک سرویس به نام TestService
ایجاد کنید که یک فایل اجرایی خاص (مانند C:\Program Files\TestApp\TestApp.exe
) را اجرا کند. میتوانید از دستور زیر استفاده کنید:
sc create TestService binPath= "C:\Program Files\TestApp\TestApp.exe"
پارامتر binPath مسیر فایل اجرایی سرویس را مشخص میکند. مطمئن شوید که بین علامت =
و مقدار آن یک فاصله قرار دهید، زیرا در غیر این صورت دستور اجرا نخواهد شد.
حذف یک سرویس
برای حذف سرویس TestService
، از دستور زیر استفاده کنید:
sc delete TestService
این دستور، سرویس را از رجیستری ویندوز حذف میکند. دقت کنید که این عملیات برگشتناپذیر است.
پیکربندی و تنظیم سرویسها
برای پیکربندی و تغییر تنظیمات سرویسها، دستور sc config
استفاده میشود. با این دستور میتوانید پارامترهایی مانند نام کاربری و رمز عبور سرویس، نوع شروع سرویس (مانند اتوماتیک یا دستی) و وابستگیهای سرویس را تنظیم کنید.
مثال: تغییر نوع شروع سرویس
برای تغییر نوع شروع سرویس wuauserv
به دستی (manual)، میتوانید از دستور زیر استفاده کنید:
sc config wuauserv start= demand
در این دستور:
start= demand
نوع شروع سرویس را به دستی تغییر میدهد. مقادیر دیگری که میتوانید استفاده کنید شاملauto
(شروع خودکار)،disabled
(غیرفعال) هستند.
مثال: تغییر حساب کاربری سرویس
اگر میخواهید سرویس wuauserv
را با یک حساب کاربری خاص اجرا کنید، از دستور زیر استفاده کنید:
sc config wuauserv obj= "UserName" password= "UserPassword"
در اینجا UserName
نام کاربری و UserPassword
رمز عبور آن است. این ویژگی برای امنیت بیشتر سرویسها کاربرد دارد.
منابع
آیا این مطلب برای شما مفید بود ؟