Post

Let's Run Your Files with Admin Permissions

Öncelike UAC' ın kapatılması gerekmektedir. Bu yazımda https://farukguler.com/assets/post_images/uac-nedir-gpo UAC nedir? nasıl kapatılır vb. diğer bilgiler verilmiştir. Ancak UAC' ın kapatılması güvenlik sebebiyle önerilmez.

Powershell çağırarak script.bat veya script.cmd dosyasını admin yetkilerinde çalıştıralım. (v1)

@echo off
net session >NUL 2>&1|| powershell Start-Process '%0' -Verb RunAs&& exit /b|| exit /b

ipconfig/all
whoami
hostname
pause

script.bat veya script.cmd dosyasını admin yetkilerinde çalıştıralım (v2)

@echo off

:: BatchGotAdmin
:-------------------------------------
REM --> İzin kontrolü yapılıyor
>nul 2>&1 "%SYSTEMROOT%\system32\cacls.exe" "%SYSTEMROOT%\system32\config\system"

REM --> Eget hata alınırsa yönetici değiliz demektir.
if '%errorlevel%' NEQ '0' (
echo Administrator izni isteniyor...
goto UACPrompt
) else ( goto gotAdmin )

:UACPrompt
echo Set UAC = CreateObject^("Shell.Application"^) > "%temp%\getadmin.vbs"
set params = %*:"=""
echo UAC.ShellExecute "cmd.exe", "/c %~s0 %params%", "", "runas", 1 >> "%temp%\getadmin.vbs"

"%temp%\getadmin.vbs"
del "%temp%\getadmin.vbs"
exit /B

:gotAdmin
pushd "%CD%"
CD /D "%~dp0"

:komutları buraya yaziniz..
ipconfig
whoami
hostname
pause

Powershell script.ps1 dosyasını admin yetkilerinde çalıştıralım.

$isAdmin=[bool](([System.Security.Principal.WindowsIdentity]::GetCurrent()).groups -match "S-1-5-32-544")
if (-not $isAdmin) {
  $arguments = "& '" + $MyInvocation.MyCommand.Path + "'"
  Start-Process powershell -Verb runAs -ArgumentList $arguments
  exit
}

#S-1-5-32-544 (Alias: BUILTIN\Administrators)
#Buraya PowerShell içeriğinizi ekleyin.
ipconfig
whoami
hostname
pause

Microsoft VBScript (Visual Basic Script) script.vbs dosyasını admin yetkilerinde çalıştıralım. (Bu VBScript kodu örneği, Shell nesnesini kullanarak, yüksek yetkilere sahip bir Komut İstemi(CMD) penceresinde "ipconfig" komutunu çalıştırır.)

Set objShell = CreateObject("Shell.Application")
objShell.ShellExecute "cmd.exe", "/k ipconfig", "", "runas", 1

Best Regards. – Saygılarımla.

This post is licensed under CC BY 4.0 by the author.