Shutdown.exe একটি বিল্ট-ইন Windows কমান্ড লাইন টুল যা কম্পিউটার রিবুট, শাটডাউন, স্লিপ, হাইবারনেট বা ইউজার সেশন এন্ড করতে দেয়। এই গাইডে আমরা Windows-এ shutdown কমান্ডের বেসিক ব্যবহারের উদাহরণ দেখাব। উপরে আলোচনা করা সব কমান্ড Run ডায়ালগ বক্সে — Win+R →, কমান্ড প্রম্পট (cmd.exe) বা PowerShell-এ রান করা হয়।
shutdown কমান্ডের সিনট্যাক্স নিচের মতো:
shutdown [/i | /l | /s | /r | /g | /a | /p | /h | /e | /o] [/hybrid] [/soft] [/fw] [/f] [/m \\computer][/t xxx][/d [p|u:]xx:yy [/c "comment"]]

আপনি দেখতে পাচ্ছেন, কমান্ডটির অনেক অপশন রয়েছে, এবং লোকাল বা রিমোট কম্পিউটার শাটডাউন/রিস্টার্ট করতে ব্যবহার করা যায়।
কমান্ড প্রম্পট ব্যবহার করে Windows শাটডাউন করা
আপনার কম্পিউটার শাটডাউন করতে shutdown কমান্ড /s কীসহ ব্যবহার করুন।
shutdown /s
CMD থেকে Windows রিবুট করা
আপনার কম্পিউটার রিবুট করতে /r প্যারামিটার ব্যবহার করুন। এটি চালানোর পর Windows গ্রেসফুলি রিস্টার্ট হবে।
shutdown /r

ইউজার সেশন এন্ড করা
বর্তমান ইউজার সেশন এন্ড করতে (লগঅফ), এই কমান্ড চালান:
shutdown /l

এই কমান্ড logoff.exe কমান্ডের মতই কাজ করে।
Windows হাইবারনেট করা
আপনার কম্পিউটার হাইবারনেট করতে এই কমান্ড চালান:
shutdown /h
হাইবারনেট মোডে, পুরো মেমরি কন্টেন্ট hiberfil.sys ফাইলে লোকাল ডিস্কে লেখা হয় এবং কম্পিউটার স্লিপ মোডে চলে যায় যাতে এনার্জি খরচ কম হয়।
রিবুট বা শাটডাউন করার আগে লগ-অন ইউজারদের নোটিফাই করা
আপনি কম্পিউটার বা সার্ভারের আপকামিং শাটডাউন/রিবুট সম্পর্কে সব লগ-অন Windows ইউজারকে নোটিফাই করতে পারেন সব এক্টিভ সেশনে মেসেজ পাঠিয়ে। একটি নিয়ম হিসেবে, এই ফিচার RDS সার্ভারে ব্যবহার হয় যেখানে একাধিক ইউজার একই সময় তাদের নিজস্ব RDP সেশনতে কাজ করে।
shutdown /r /c “This server will be restarted in 60 seconds.”
টাইমার ব্যবহার করে ডিলেড শাটডাউন/রিবুট
আপনি নির্দিষ্ট ডিলে (টাইমারে) কম্পিউটার শাটডাউন বা রিস্টার্ট করতে পারেন। /t অপশন ব্যবহার করে আপনি সময়-span নির্দিষ্ট করতে পারেন যeturপর কম্পিউটার/সার্ভার শাটডাউন বা রিবুট হবে। এইভাবে আপনি আপনার ইউজারদের কিছু সময় দিতে পারেন ওপেন ফাইল সেভ এবং অ্যাপ্লিকেশন সঠিকভাবে ক্লোজ করার জন্য। নোটিফিকেশন মেসেজের সাথে এই অপশন ব্যবহার করা সুবিধাজনক। এই উদাহরণে আমরা ইউজারদের জানাচ্ছি যে Windows ১০ মিনিট (৬০০ সেকেন্ড) পর শাটডাউন হবে।
shutdown /s /t 600 /c "The server will be shutdown in 10 minutes. Save your work!"
একটি ইউজার প্লান্ড শাটডাউন সম্পর্কে একটি নোটিফিকেশন দেখবে:
You’re about to be signed out

যদি ডিলে খুব লম্বা হয়, যেমন ১০০ মিনিট (৬,০০০ সেকেন্ড), স্ক্রিনের নিচে ডানে একটি পপ-আপ উইন্ডো আসবে: You’re about to be signed out. Your Windows will shutdown in 100 minutes.

Windows শাটডাউন বা রিস্টার্ট ক্যান্সেল করা
Windows শাটডাউন বা রিবুট কমান্ড চালানোর পর, shutdown টুল ডিফল্টভাবে ৬০ সেকেন্ড অপেক্ষা করে কিছুই না করে। একজন অ্যাডমিনিস্ট্রেটর এই সময়ের মধ্যে কমান্ড চালিয়ে রিস্টার্ট বা শাটডাউন ক্যান্সেল করতে পারেন:
shutdown /a
শাটডাউন ক্যান্সেল করার পর আপনি স্ক্রিনের নিচে ডানে নিচের পপ-আপ উইন্ডো দেখবেন: Logoff is cancelled. The scheduled shutdown has been cancelled.
কম্পিউটারের ফোর্সফুল ইমিডিয়েট রিস্টার্ট
৬০ সেকেন্ড অপেক্ষা না করে কম্পিউটার ইমিডিয়েট শাটডাউন বা রিবুট করতে 0 মান দিন /t প্যারামিটারের। উদাহরণস্বরূপ, কম্পিউটার ইমিডিয়েট রিস্টার্ট করতে:
shutdown /r /t 0
/f কী খুব গুরুত্বপূর্ণ। আমি почти সবসময় Windows সার্ভার শাটডাউন বা রিস্টার্ট করার সময় এটি ব্যবহার করি। এই অ্যাট্রিবিউট সব রানিং প্রোগ্রাম এবং প্রসেস ফোর্সফুলি ক্লোজ করে ইউজার কনফার্মেশন ছাড়া (আমরা RDS সার্ভারে ইউজারদের সব অ্যাপ্লিকেশন ক্লোজ কনফার্ম করার জন্য অপেক্ষা করব না কারণ আমরা কখনো সেটি পাবো না)।
পরবর্তী কমান্ড কম্পিউটার রিস্টার্ট করবে এবং রিস্টার্টের পর সিস্টেমে রেজিস্টার্ড সব অ্যাপ্লিকেশন অটোমেটিক্যালি রান করবে (RegisterApplicationRestart API ব্যবহার করে সিস্টেমে রেজিস্টার্ড অ্যাপস)।
shutdown /g
রিমোটে Windows কম্পিউটার শাটডাউন বা রিস্টার্ট করা
আপনি একটি রিমোট কম্পিউটার রিবুট করতে পারেন যদি আপনার নেটওয়ার্ক এক্সেস থাকে, এবং shutdown কমান্ড চালানোর জন্য ব্যবহার করা অ্যাকাউন্ট রিমোট কম্পিউটার (সার্ভার)-এর লোকাল অ্যাডমিনিস্ট্রেটর গ্রুপের মেম্বার হতে হবে:
shutdown /r /t 120 /m \\192.168.1.210

উপরের সব শর্ত পূরণ হওয়া সত্ত্বেও, shutdown কমান্ড চালানোর সময় যদি “Access denied (5)” এরর আসে, রিমোট কম্পিউটারে অ্যাডমিন শেয়ার (C$, ADMIN$) রিমোট এক্সেস অ্যালাউ করুন LocalAccountTokenFilterPolicy প্যারামিটারের মান ১ করে।
reg add "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System" /v "LocalAccountTokenFilterPolicy" /t REG_DWORD /d 1 /f
যদি আপনাকে একাধিক কম্পিউটার রিমোটে রিস্টার্ট করতে হয়, কম্পিউটার তালিকা একটি টেক্সট ফাইলে সেভ করে একটি সিম্পল PowerShell স্ক্রিপ্ট দিয়ে সব কম্পিউটার রিমোট রিবুট করতে পারেন:
$sh_msg = "Your computer will be automatically restarted in 10 minutes. Save your files and close running apps"
$sh_delay = 600 # seconds
$computers = gc C:\PS\PC-list.txt
foreach ($comp in $computers)
{
& 'C:\Windows\System32\SHUTDOWN.exe' "-m \\$comp -r -c $sh_msg -t $sh_delay"
}
Shutdown কমান্ডের গ্রাফিক্যাল ইন্টারফেস
কমান্ড প্রম্পটে কমফরটেবল না লেগলে shutdown.exe কমান্ডের গ্রাফিক্যাল ইন্টারফেস ব্যবহার করতে পারেন। রিমোট শাটডাউন ডায়ালগ কল করতে কমান্ড ব্যবহার করুন:
shutdown /i

আপনি দেখতে পাচ্ছেন, রিমোট শাটডাউন ডায়ালগে একাধিক কম্পিউটার যোগ করতে পারেন রিবুট/শাটডাউন করার জন্য, নোটিফিকেশন টেক্সট নির্দিষ্ট করতে পারেন এবং Windows ইভেন্ট লগে সেভ করার জন্য শাটডাউনের কারণ নির্দিষ্ট করতে পারেন।
শর্টকাট ব্যবহার করে কম্পিউটার রিবুট করা
ব্যবহারকারীদের সুবিধার্থে, আপনি ডেস্কটপে রিস্টার্ট বা শাটডাউন করার শর্টকাট তৈরি করতে পারেন প্রয়োজনীয় সেটিংসহ। শর্টকাট উপযোগী হয় যখন আপনি RDP সেশন থেকে কম্পিউটার রিস্টার্ট করতে চান যেখানে Start মেনুতে রিস্টার্ট বা শাটডাউন অপশন নেই।

আপনি যদি আপনার কম্পিউটার বা সার্ভার নির্দিষ্ট সময়ে রিস্টার্ট/শাটডাউন করতে চান, Windows Task Scheduler (taskschd.msc)তে shutdown কমান্ড নির্দিষ্ট প্যারামিটারসহ যোগ করতে পারেন।
উদাহরণস্বরূপ, এই Scheduler টাস্ক প্রতিদিন রাত ১২টা কম্পিউটার রিস্টার্ট করবে।

অথবা PowerShell দিয়ে একটি নতুন Scheduler টাস্ক তৈরি করতে পারেন:
$Trigger= New-ScheduledTaskTrigger -At 00:00am -Daily
$User= "NT AUTHORITY\SYSTEM"
$Action= New-ScheduledTaskAction -Execute "shutdown.exe" -Argument "–f –r –t 120"
Register-ScheduledTask -TaskName "RebootEvertyNight_PS" -Trigger $Trigger -User $User -Action $Action -RunLevel Highest –Force