কম্পিউটার টিউটোরিয়াল

উইন্ডোজে CMD/প্রোগ্রাম SYSTEM (LocalSystem) অ্যাকাউন্টে চালানো

উইন্ডোজে কিছু কাজ করার জন্য শুধু অ্যাডমিনিস্ট্রেটর প্রিভিলেজ যথেষ্ট নয়। উদাহরণস্বরূপ, আপনি সিস্টেম ফাইল বা কিছু রেজিস্ট্রি কী রিপ্লেস বা ডিলিট করতে পারবেন না, সিস্টেম সার্ভিস বন্ধ করতে পারবেন না বা অন্য কিছুopotentially unsafe অ্যাকশন সম্পাদন করতে পারবেন না যা আপনার অপারেটিং সিস্টেমের স্থিতিশীলতা প্রভাবিত করতে পারে। এই কেসগুলোতে, একটি সিস্টেম অ্যাডমিনিস্ট্রেটর ফাইল বা অন্যান্য অবজেক্টের ওনারশিপ নিতে পারে, অথবা সিস্টেম অ্যাকাউন্টের ওপর থেকে অ্যাকশন সম্পাদন করতে পারে। এই লেখায় আমরা দেখব কিভাবে একটি অ্যাপ বা কমান্ড প্রম্পট উইন্ডোজ ১০-এ সুবিধাজনক SYSTEM (LocalSystem) অ্যাকাউন্ট হিসেবে চালানো যায়।

ডিসক্লেমার। SYSTEM অ্যাকাউন্টের মাধ্যমে উইন্ডোজ ইমেজে পরিবর্তন আনা একটি নন-স্ট্যান্ডার্ড অপারেশন। দ্রষ্টব্য, NT AUTHORITY\SYSTEM প্রিভিলেজের সাথে ভুল অ্যাকশন আপনার উইন্ডোজ ভাঙতে পারে। praktyk-এ, সিস্টেম অ্যাকাউন্ট হিসেবে প্রসেস চালানো খুব কম ব্যবহৃত হয়। অধিকাংশ কেসে আপনি কিছু স্ট্যান্ডার্ড উপায়ে সমস্যা সমাধান করতে পারেন: runas, অ্যাডমিন প্রিভিলেজ ছাড়া অ্যাপ চালানো এবং UAC প্রম্পট সাপ্রেস করা, ফাইল/রেজিস্ট্রি কী-তে ওনারশিপ নেওয়া, সকল বা নির্দিষ্ট অ্যাপের জন্য UAC ডিজেবল করা, নন-অ্যাডমিন ব্যবহারকারীদের জন্য সার্ভিস ম্যানেজমেন্ট প্রিভিলেজ দেওয়া।

বিল্ট-ইন SYSTEM অ্যাকাউন্ট SCM (Service Control Manager) দ্বারা সিস্টেম সার্ভিস চালাতে ও ম্যানেজ করতে ব্যবহৃত হয়। সিস্টেম অ্যাকাউন্ট ব্যবহার করে (এটিকে NT AUTHORITY\SYSTEM, Local System বা Computer\LocalSystem ও বলা হয়), অধিকাংশ সিস্টেম সার্ভিস ও প্রসেস চালানো হয় (NT OS কার্নেল সহ)। সার্ভিস ম্যানেজমেন্ট mmc snap-in (services.msc) খুলুন এবং লগঅন ऐস কলামে Local System লেখা সার্ভিসগুলো নোট করুন। এই সার্ভিসগুলো SYSTEM অ্যাকাউন্টের অধীনে চলে।

উইন্ডোজে লোকাল সিস্টেম অ্যাকাউন্টে CMD চালানো (Vista-এর পূর্বের ভার্সন)

উইন্ডোজ XP এবং উইন্ডোজ সার্ভার ২০০৩-এ (যা আর সাপোর্টেড নেই), টাস্ক স্ক্যাডিউলার ব্যবহার করে একটি প্রোগ্রাম বা ইন্টারেক্টিভ কমান্ড প্রম্পট (cmd.exe) সিস্টেম প্রিভিলেজের সাথে চালানো যেতো একটি দিলচস্প ট্রিক ছিল। অ্যাডমিন অ্যাকাউন্টের অধীনে কমান্ড প্রম্পট খুলে নিচের কমান্ড চালাতে হতো:

at 10:23 /interactive cmd.exe

যেখানে, 10:23 হলো বর্তমান সময় + এক মিনিট (২৪-ঘন্টার ফরম্যাটে)ulsion

নির্দিষ্ট সময় হলে, লোকাল সিস্টেম অ্যাকাউন্টের অধীনে একটি কমান্ড প্রম্পট দেখাবে। আপনি যদি উইন্ডোজ সার্ভার ২০০৩/XP-এ টার্মিনাল (RDP) সেশনে এই কমান্ড চালান, তবে দ্রষ্টব্য করুন যে সিস্টেম প্রিভিলেজের কমান্ড প্রম্পট কনসোল সেশনে প্রদর্শিত হবে (আপনি mstsc /console বা mstsc /admin ব্যবহার করে কম্পিউটার কনসোলে কানেক্ট করতে পারেন)।

উইন্ডোজ ১০ at কমান্ড ব্যবহার করে ইন্টারেক্টিভ কমান্ড প্রম্পট চালানো সাপোর্ট করে না। schtasks.exe ব্যবহার করার পরামর্শ দেওয়া হয়।

Warning: Due to security enhancements, this task will run at the time expected but not interactively. Use schtasks.exe utility if interactive task is required ('schtasks /?' for details). The request is not supported.

পাওয়ারশেল ১০-এ PSExec ব্যবহার করে CMD/প্রসেস SYSTEM হিসেবে চালানো

উইন্ডোজ ৭ বা উচ্চতরে, টাস্ক স্ক্যাডিউলার ব্যবহার করে ইন্টারেক্টিভ কমান্ড প্রম্পট সিস্টেম অ্যাকাউন্টে চালানো যায় না। NT Authority\System হিসেবে কমান্ড চালাতে আপনি Sysinternals-এর PSExec.exe ইউটিলিটি ব্যবহার করতে পারেন।

PSExec.exe টুল মাইক্রোসফট ওয়েবসাইট থেকে ডাউনলোড করুন: https://docs.microsoft.com/en-us/sysinternals/downloads/psexec। যেকোনো উইন্ডোজ অ্যাডমিন PSExec-এ পরিচিত। অধিকাংশ কেসে, এটি উইন্ডোজ রিমোটলি ম্যানেজ করতে ব্যবহৃত হয়, এবং এটিতে সিস্টেম অ্যাকাউন্টের পক্ষে প্রসেস চালানোর একটি উপকারী ফিচারও আছে। কিছু অ্যান্টিভাইরাস PSExec.exe-কে পটেনশিয়ালি হার্মফুল প্রোগ্রাম হিসেবে চিনতে পারে (বাৎপরে, notpetya ভাইরাস ছড়িয়ে দেওয়ার জন্য psexec ব্যবহার করা হয়েছিল)।

PSExec ইনস্টল করার দরকার নেই। এলিভেটেড কমান্ড প্রম্পট ("Run as administrator") খুলুন, PSexec.exe থাকা ফোল্ডারে যান এবং নিচের কমান্ড চালান:

psexec -i -s cmd.exe

-i — প্রসেস/অ্যাপ ইন্টারেক্টিভ মোডে শুরু করতে দেয় (ব্যবহারকারী ডেস্কটপে অ্যাপের সাথে ইন্টারঅ্যাক্ট করতে পারে; আপনি যদি এই প্যারামিটার ব্যবহার না করেন, তবে প্রসেস কনসোল সেশনে শুরু হবে),

-s — মানে প্রসেসটি (এই কেসে, কমান্ড প্রম্পট) সিস্টেম অ্যাকাউন্ট হিসেবে চালাতে হবে।

প্রথমবার PsExec চালানোর সময়, আপনাকে লাইসেন্স এগ্রিমেন্ট এক্সেপ্ট করতে বলবে।

কমান্ড চালানোর পর, NT Authority\System অ্যাকাউন্টের অধীনে একটি নতুন কমান্ড প্রম্পট উইন্ডো দেখাবে। এটি সঠিক কিনা যাচাই করতে এই কমান্ড চালান:

whoami

এইভাবে, আপনি যেকোনো প্রোগ্রাম, কমান্ড বা স্ক্রিপ্ট সিস্টেম অ্যাকাউন্ট হিসেবে চালাতে পারেন। PsExec প্যারামিটারে cmd.exe-র বদলে আপনি যে অ্যাপের এক্সিকিউটেবল নাম দিতে চান তা দিলেই চলে।

দেখানো কমান্ড প্রম্পট উইন্ডোতে, আপনি SYSTEM হিসেবে যেকোনো কমান্ড চালাতে পারেন। এখন আপনি TrustedInstaller বা SYSTEM-এর অধীনে থাকা সিস্টেম ফাইল/রেজিস্ট্রি কী পরিবর্তন, রিনেম বা ডিলিট করতে পারেন। এই উইন্ডো থেকে শুরু করা সকল প্রোগ্রাম বা প্রসেস এলিভেটেড LocalSystem প্রিভিলেজের সাথে চলবে। উদাহরণস্বরূপ, আপনি একটি সিস্টেম সার্ভিস বন্ধ করতে পারেন বা সিস্টেম প্রসেস দ্বারা খোলা একটি ফাইল ক্লোজ করতে পারেন।

PSExec ব্যবহার করে, আপনি একটি রিমোট কম্পিউটারে NT AUTHORITY\SYSTEM প্রিভিলেজের সাথে ইন্টারেক্টিভ কমান্ড প্রম্পট খুলতে পারেন। এর জন্য নিচের কমান্ড ব্যবহার করা হয়:

psexec -s \\mun-b21pc12 cmd.exe

যদি "Couldn't install PSEXESVC service" এরর আসে, তবে নিশ্চিত করুন যে:

  • কমান্ড প্রম্পট অ্যাডমিনিস্ট্রেটর হিসেবে চালানো হয়েছে;
  • অন্য কোনো PSEXESVC সার্ভিস ইনস্ট্যান্স চলছে না।

সিস্টেম অ্যাকাউন্ট হিসেবে অ্যাপ চালানোর জন্য আরও কিছু থার্ড-পার্টি টুল রয়েছে (AdvancedRun, RunAsSystem, PowerRun), কিন্তু আমি তাদের ব্যবহার করার কোনো পয়েন্ট দেখি না। প্রথমে, সেগুলো থার্ড-পার্টি এবং আপনি নিশ্চিত হতে পারবেন না যে সেখানে কোনো ম্যালিশিয়াস কোড নেই। দ্বিতীয়ত, মাইক্রোসফটের অফিসিয়াল PsExec ইউটিলিটি খুব ভালো কাজ করে।

  1. উইন্ডোজ অ্যাপ্লিকেশন সিস্টেম ট্রে-এ সহজে লুকান – সম্পূর্ণ টিউটোরিয়াল

  2. উইন্ডোজ PC-এ কম্পিউটার পারফরমেন্স বেঞ্চмар্ক টেস্ট: ধাপে ধাপে গাইড

  3. উইন্ডোজ ১০-এ কম্প্যাটিবিলিটি মোড ব্যবহার করে লিগ্যাসি অ্যাপ্লিকেশন চালান

  4. ভার্চুয়াল মেশিন দিয়ে ম্যাকএ উইন্ডোজ চালান: ধাপে ধাপে গাইড