আপনি আমার স্ক্রিপ্ট ব্যাচ_এডমিনটি ব্যাচ নিজস্ব স্ক্রিপ্ট, বা বিএটি বা .সিএমডি ব্যবহার করতে স্বয়ংক্রিয়ভাবে প্রশাসককে উন্নত করতে ব্যবহার করতে পারেন। এই ফাংশনটি স্ট্যান্ডার্ড সরঞ্জামগুলির সাথে স্ট্যান্ডার্ড সরঞ্জামগুলির সাথে এবং একইভাবে বিভিন্ন উইন্ডোজ সিস্টেমে কাজটি নিশ্চিত করে। এটি বেশ কয়েকটি মানক এবং অন্তর্নির্মিত উইন্ডোজ কমান্ড ব্যবহার করে। অন্য কোনও বাহ্যিক স্ক্রিপ্ট ব্যবহার করবেন না। এটি কোনও প্রোগ্রামকে প্রশাসক হিসাবে কল করতে ব্যবহৃত হতে পারে, কেবল স্ক্রিপ্ট ব্যাচ নয়। এটি একটি ছোট স্ক্রিপ্ট তৈরি করা যথেষ্ট, যা পরে প্রোগ্রামটিকে কল করে যার জন্য অনুমতি প্রশাসকের প্রয়োজন। এটি যেকোন অনুসন্ধানের PATH ফোল্ডারে রাখুন (% PATH% থেকে)।
এটি ব্যবহার করার জন্য, আপনি কেবলমাত্র তার মূল ব্যাচ স্ক্রিপ্টে নিম্নলিখিত লাইনটি সুনির্দিষ্টভাবে সন্নিবেশ করুন, যা প্রশাসক হিসাবে চালানো হবে। এটি সর্বোত্তমভাবে আমাদের পিতামাতার স্ক্রিপ্টের শীর্ষে করা হয় এবং এটি সর্বোত্তম যে প্রথমে CALL এর মাধ্যমে ডাকা হবে, কিছু উপ-স্ক্রিপ্টগুলি (নীচে বিস্তারিত ব্যাখ্যা দেখুন)।
net session >nul 2>nul&if errorlevel 1 Batch_Admin "%~0" %*
এটি যে কোনও চাইল্ড স্ক্রিপ্টের ভিতরে ALোকানো যেতে পারে, যাকে CALL সিনট্যাক্স দ্বারা ডাকা হয়। কোনও বার্তা প্রদর্শন করার সময় এটিতে প্রশাসকের সুবিধা নেই, যেমন। ব্যাচ_আডমিনকে কল করার আগে 5 সেকেন্ডের জন্য সেকেন্ডের সংখ্যায় চলক "শোএডমিনআইএনফো" সেট করুন
SET ShowAdminInfo=5
net session >nul 2>nul&if errorlevel 1 Batch_Admin "%~0" %*
সুতরাং এটি কীভাবে কাজ করে:
User ব্যবহারকারীর অনুমতি গ্রহণের জন্য VBScript এর মাধ্যমে UAC.ShellExecute কল করুন
• ব্যাচ স্ক্রিপ্ট বা বিএটি বা সিএমডি চালায়
• স্ক্রিপ্ট কলারের একটি দীর্ঘ নাম স্পেস থাকতে পারে কলগুলিতে কলটিতে অন্তর্ভুক্ত
The কমান্ড লাইন থেকে পাস হওয়া মাস্টার স্ক্রিপ্টকে সমস্ত পরামিতি কল করুন, যেমন কলটির কোনও সংক্রমণ নেই এবং স্ক্র্যাচ থেকে কিছু শুরু করুন, বিশেষ বর্ণগুলি যেমন বিস্মৃত চিহ্ন (!) এবং শতাংশ (%) সহ, এবং এছাড়াও বন্ধনী সহ ()
The কলটি ডিরেক্টরিতে যেখানে এই স্ক্রিপ্টটি মাস্টার সেখানে স্থান নেয় যদি একটি মাস্টার স্ক্রিপ্টের অবস্থান ধরে
We সহায়ক আমরা একটি ভেরিয়েবল "শোএডমিনআইএনফো", যেমন উদ্বোধন করি যদি একটি বার্তা প্রদর্শন করে। 5 সেকেন্ডের জন্য যা প্রশাসনিক অতিরিক্ত তথ্য দেওয়ার এবং অবগত সিদ্ধান্তের সম্ভাবনার অধিকারগুলির তাত্ক্ষণিকভাবে অধিকার রোধ করতে পারে। সেট করতে হবে এমন উদাহরণগুলির উদাহরণগুলি: SET ShowAdminInfo = 5 ডিফল্টরূপে, কারণ এই ভেরিয়েবলটি সংজ্ঞায়িত করা হয় না, এটি প্রদর্শন করে না।
Search স্ক্রিপ্টটি সিস্টেম অনুসন্ধানের পথে% PATH% এবং নেটওয়ার্ক সংস্থান থেকে যেমন: calling কম্পিউটার \ ভাগ \ পরীক্ষা.বাট থেকে কল করছে
The প্রয়োজনীয় সহায়ক ফাইলগুলি লেখার ক্ষেত্রে ভুল বোঝাবুঝি রোধ করে যখন স্ক্রিপ্টটি প্রায় একই সময়ে বেশ কয়েকটি ব্যাচ_এডমিনকে কল করে। এটি 1 থেকে 100 পর্যন্ত এলোমেলো নম্বর ব্যবহার করে
• তবে, পিতামহী স্ক্রিপ্টে এটি ব্যবহার করা সবচেয়ে ভাল। প্রশাসকের অধিকারে স্থানান্তরের জন্য সর্বদা আপনার প্রয়োজন হয় যে আপনি স্ক্রিপ্টটি পুরোপুরি আবার একটি নতুন উইন্ডোতে, একটি নতুন পরিবেশে পরিবর্তন করুন, ভেরিয়েবলগুলির আশ্রয় ছাড়াই আমাদের স্ক্রিপ্টে আগে সেট করা হয়েছিল এবং এই ভেরিয়েবলগুলির মানগুলি প্রশাসক হিসাবে কল করার পরে পাস করেনি did । শুধু স্ক্রিপ্ট আবার কার্যকর করা হবে।
সম্পূর্ণ স্ক্রিপ্টের নীচে ব্যাচ_আডমিন। এটি সম্পর্কে বর্ধিত তথ্য আমার সাইটে রয়েছে।
নোটপ্যাডে নীচের পাঠ্যটি অনুলিপি করুন এবং এটি ডিস্কে সংরক্ষণ করুন: Batch_Admin.bat
@echo off
if "%~1"=="" (echo *** Batch_Admin ***&echo.&echo Automatically get admin rights for another Batch. See info inside.&TIMEOUT /T 30>nul&goto:eof)
:: A D M I N I S T R A T O R - Automatically get admin rights for script batch. Paste this on top: net session >nul 2>nul&if errorlevel 1 Batch_Admin "%~0" %*
:: Also keep Batch directory localisation and then set variable: PATH_BAT
:: if earlier variable "ShowAdminInfo" is empty (not defined) then no info, else showing info with number of seconds
::
:: Elaboration: Artur Zgadzaj
setlocal
setlocal DisableDelayedExpansion
SET "Localy="
if exist "%~1" SET "Localy=YES"
if exist "%~1.BAT" SET "Localy=YES"
if exist "%~1.CMD" SET "Localy=YES"
if defined Localy FOR %%I IN ("%~1") DO SET "PATH_BAT=%%~dI%%~pI"
SET P1=%~1
SET Parameters=%*
SET Parameters=%Parameters:!=^^!%
setlocal EnableDelayedExpansion
SET Parameters=!Parameters:%P1%=!
SET Parameters=!Parameters:%%=%%%%!
setlocal DisableDelayedExpansion
SET Parameters=%Parameters:~3%
net session >nul 2>nul&if not errorlevel 1 goto Administrator_OK
if not defined ShowAdminInfo goto skip_message_Administrator
echo.
echo Script: %~1
echo.
echo *****************************************************************
echo *** R U N N I N G A S A D M I N I S T R A T O R ***
echo *****************************************************************
echo.
echo Call up just as the Administrator. You can make a shortcut to the script and set:
echo.
echo shortcut ^> Advanced ^> Running as Administrator
echo.
echo Alternatively run once "As Administrator"
echo or in the Schedule tasks with highest privileges
echo.
echo Cancel Ctrl-C or wait for launch %ShowAdminInfo% seconds ...
TIMEOUT /T %ShowAdminInfo% > nul
:skip_message_Administrator
MD %TEMP% 2> nul
SET /A $Admin$=%RANDOM% * 100 / 32768 + 1
SET "Percent="
del "%TEMP%\$Admin_%$Admin$%_Test.bat" 2>nul
echo %Parameters% > "%TEMP%\$Admin_%$Admin$%_Test.bat"
if not exist "%TEMP%\$Admin_%$Admin$%_Test.bat" SET Percent=^"
del "%TEMP%\$Admin_%$Admin$%_Test.bat" 2>nul
echo @SET "PATH_BAT=%PATH_BAT%" > "%TEMP%\$Admin_%$Admin$%_Batch_Start.bat"
echo @SET "BatchFullName=%BatchFullName%" >> "%TEMP%\$Admin_%$Admin$%_Batch_Start.bat"
if defined Localy (echo @CD /D "%PATH_BAT%" >> "%TEMP%\$Admin_%$Admin$%_Batch_Start.bat")
echo @"%~1" %Parameters% %Percent% >> "%TEMP%\$Admin_%$Admin$%_Batch_Start.bat"
echo SET UAC = CreateObject^("Shell.Application"^) > "%TEMP%\$Admin_%$Admin$%_Batch_getPrivileges.vbs"
echo UAC.ShellExecute "%TEMP%\$Admin_%$Admin$%_Batch_Start.bat", "", "", "runas", 1 >> "%TEMP%\$Admin_%$Admin$%_Batch_getPrivileges.vbs"
"%TEMP%\$Admin_%$Admin$%_Batch_getPrivileges.vbs"
endlocal
exit /B
:Administrator_OK
"%~1" %Parameters%
goto:eof
REM *** A D M I N I S T R A T O R - Automatically get admin rights (The End) ***