ফাইল এক্সপ্লোরার উইন্ডোজে সবসময় কমপক্ষে প্রিভিলেজে শুরু হয়। আপনি যদি এক্সিকিউটেবল ফাইল C:\Windows\explorer.exe-এ ক্লিক করে "Run as administrator" মোডে চালানোর চেষ্টা করেন, তবে প্রিভিলেজ এলিভেশন হবে না। এই আর্টিকেলে আমরা ফাইল এক্সপ্লোরার এলিভেটেড পারমিশনে (অ্যাডমিনিস্ট্রেটর হিসেবে) চালানোর একটি সিম্পল ট্রিক দেখব।
You Don't Have Permission to Access Folder, Click Continue to Permanently Get Access
উইন্ডোজ ফাইল এক্সপ্লোরার লোকাল অ্যাডমিনিস্ট্রেটর গ্রুপে যোগ করা একাউন্ট (বা বিল্ট-ইন উইন্ডোজ অ্যাডমিনিস্ট্রেটর অন্ডারে) দিয়ে কাজ করার সময়, আপনাকে প্রায়শই সিস্টেম ফোল্ডার, ইউজার প্রোফাইল বা প্রোটেক্টেড সিস্টেম ফাইল এডিট করতে হয়। বর্তমান কনটেক্সটে উইন্ডোজ এক্সপ্লোরারে এমন ডিরেক্টরি/ফাইল খোলার চেষ্টা করলে UAC ওয়ার্নিং আসে এক্সেস দেয়া এবং প্রিভিলেজ এলিভেট করার জন্য।
কী হয়: চলে 시도 করি সিস্টেম ফোল্ডার C:\Windows\System32\Config ফাইল এক্সপ্লোরারে খোলার। User Account Control উইন্ডো আসে সতর্ক করে যে আপনার বর্তমানে এই ফোল্ডার এক্সেস করার পারমিশন নেই:
You don’t currently have permission to access this folder. Click Continue to permanently get access to this folder.
لكن Continue ক্লিক করলে UAC অস্থায়ীভাবে আপনার explorer.exe প্রসেসের প্রিভিলেজ এলিভেট করে এবং আপনার একাউন্টকে NTFS ফুল কন্ট্রোল পারমিশন দেয়।
জানা সমস্যাগুলো:এটা ঠিক আছে, কিন্তু আপনি যদি এটি করেন, তবে আপনার একাউন্ট এক্সপ্লিসিটলি ফোল্ডার NTFS পারমিশনে যোগ হয়ে যাবে। কিন্তু আপনি শুধু ফোল্ডার কন্টেন্ট দেখতে চান, এর ACL পরিবর্তন করতে চান না! যদি সার্ভারে একাধিক অ্যাডমিনিস্ট্রেটর থাকে? তবে उनमें से প্রতিটি ফোল্ডার এক্সেস করার সময় ডিরেক্টরি ACL পরিবর্তন করবে।
পারমিশন পরিবর্তন হওয়ার পর, আপনার ইউজার একাউন্টের অধীনে চলমান সকল প্রোগ্রাম এই ফোল্ডারের ওপর Full Control রাইট পাবে (যদি প্রোগ্রাম এলিভেটেড না হয়) এবং আপনার একাউন্ট লোকাল Administrators গ্রুপ থেকে রিমুভ হওয়ার পরেও।
File Explorer-এর এই বিহেভিয়র শেয়ার্ড নেটওয়ার্ক ফোল্ডার ম্যানেজ করার সময় উইন্ডোজ সার্ভারে সমস্যা সৃষ্টি করে। ওয়ার্কঅরাউন্ড হিসেবে, অনেক উইন্ডোজ অ্যাডমিনিস্ট্রেটর লোকালি না করে UNC পাথ (\\mun-fs01\docs\) দিয়ে শেয়ার্ড ফোল্ডার ম্যানেজ করতে পছন্দ করেন। এই কেসে, ডিরেক্টরি এক্সেস করার সময় প্রিভিলেজ এলিভেট করার দরকার নেই, এবং তাই NTFS ACL-এ কোনো পরিবর্তন হয় না।
স্বাভাবিকভাবেই, যখন আপনি সিস্টেম ফাইল বা ইউজার ফোল্ডার নিয়ে কাজ করেন, এই পপ-আপ UAC নোটিফিকেশন বিরক্তিকর হয়ে ওঠে। যেহেতু আমি UAC ডিজেবল করতে চাই না, আমি Explorer.exe এলিভেটেড চালানোর উপায় খুঁজে পেলাম।
উইন্ডোজ ১০ এবং উইন্ডোজ সার্ভারে ফাইল এক্সপ্লোরার অ্যাডমিনিস্ট্রেটর হিসেবে কীভাবে চালাবেন?
Windows Explorer প্রসেস ইউজার লগঅন করার সময় স্ট্যান্ডার্ড ইউজার অ্যাক্সেস টোকেনের সাথে শুরু হয়। আপনি স্ট্যান্ডার্ড পদ্ধতিতে Explorer.exe প্রসেস এলিভেট করতে পারবেন না। স্ট্যান্ডার্ডভাবে "Run as admin" মোডে দ্বিতীয় explorer প্রসেস শুরু করাও যাবে না (এটি CreateExplorerShellUnelevatedTask টাস্ক দ্বারা ব্লক করা হয়)। উইন্ডোজ ফাইল এক্সপ্লোরার ইন্টারঅ্যাক্টিভ ইউজার সেশনে explorer.exe প্রসেসের একাধিক ইনস্ট্যান্স ভিন্ন সিকিউরিটি কনটেক্সটে চালানো সাপোর্ট করে না। তাই আপনাকে প্রথমে আপনার ইউজার সেশনে বর্তমান explorer.exe প্রসেস বন্ধ করতে হবে।
Task Manager বা নিচের কমান্ড পাওয়ারশেল কনসোলে (নিশ্চিত করুন powershell.exe অ্যাডমিনিস্ট্রেটর হিসেবে চালু) ব্যবহার করে explorer.exe প্রসেস কিল করতে পারেন:
taskkill /f /FI "USERNAME eq $env:UserName"/im explorer.exe
SUCCESS: The process "explorer.exe" with PID 3208 has been terminated.
explorer.exe প্রসেস অ্যাডমিনিস্ট্রেটর হিসেবে চালু করতে কমান্ড ব্যবহার করুন:
c:\windows\explorer.exe /nouaccheck
(NO|UAC|CHECK)
এই কমান্ডগুলো বর্তমান ইউজারের explorer.exe প্রসেস টার্মিনেট করবে এবং একটি নতুনটি শুরু করবে, যা powershell.exe-র সাথে চলমান এলিভেটেড অ্যাক্সেস টোকেন ইনহেরিট করবে।
অথবা Task Manager → File → Run New Task → explorer.exe /nouaccheck দিয়ে নতুন প্রিভিলেজড এক্সপ্লোরার প্রসেস শুরু করুন (নিশ্চিত করুন "Create this task with administrative privileges" অপশন চেক করা আছে)।
Task Manager-এ নিশ্চিত করুন উইন্ডোজ এক্সপ্লোরার এখন এলিভেটেড চলছে। Task Manager খুলে Details ট্যাবে যান। যেকোনো কলামে রাইট-ক্লিক করুন, Select columns ক্লিক করুন এবং Elevated কলাম দেখানোর জন্য ইনএবল করুন।
দেখা যাচ্ছে, explorer.exe-এর এখন Elevated=Yes অ্যাট্রিবিউট আছে।
এরপর Explorer যেকোনো সিস্টেম ফোল্ডার UAC ওয়ার্নিং ছাড়া খুলতে পারবে, এবং উইন্ডোজ এক্সপ্লোরার থেকে চালানো সকল চাইল্ড প্রসেস এলিভেটেড হবে।
উদাহরণস্বরূপ, hosts ফাইল এডিট করার সময় (c:\windows\system32\drivers\etc): আপনি এক্সপ্লোরার থেকে সরাসরি নোটপ্যাড দিয়ে এটি খুলতে পারবেন, আলাদা notepad.exe প্রসেস অ্যাডমিনিস্ট্রেটর হিসেবে বা ভিন্ন ইউজার হিসেবে চালানোর দরকার নেই।
যদি আপনি প্রায়শই explorer.exe এলিভেটেড মোডে চালানোর দরকার পড়ে, তবে উপরের কমান্ডগুলো দিয়ে আপনার ডেস্কটاپে একটি *.bat বা *.ps1 ফাইল তৈরি করুন।
কাজ শেষ হলে, explorer.exe-কে নন-এলিভেটেড মোডে রিস্টার্ট করতে ভুলবেন না:
taskkill /f /FI "USERNAME eq $env:UserName"/im explorer.exe
explorer.exe
দেখা যাচ্ছে, এখন explorer.exe প্রসেসের Elevated ভ্যালু No-এ পরিবর্তন হয়েছে।
এই উইন্ডোজ এক্সপ্লোরার এলিভেশন ট্রিক উইন্ডোজ সার্ভার ২০১৬/২০১৯ এবং সব উইন্ডোজ ১০ বিল্ডে কাজ করে।
উইন্ডোজ সার্ভার ২০১২/R2 এবং উইন্ডোজ ৮-এ, এক্সপ্লোরার প্রসেস এলিভেটেড চালানোর জন্য cmd.exe অ্যাডমিনিস্ট্রেটর হিসেবে খুলুন এবং কমান্ড চালান:
tskill explorer & explorer