Bazen oluşturacağımız bir .bat scriptindeki komutlar admin yetkisi olmadan bir işe yaramaz , internette oldukça sıkça sorulan sorulardan biri de bir .bat dosyasının admin yetkilerinde nasıl çalıştırılacağıdır
, bu yazımızda bu konuda neler yapılabilir , pratik bir çözümü varmıdır gibi bazı önemli noktaların üzerinde durmaya çalışacağız
1. Bat scriptini bir kısayol üzerinden Admin (Yönetici) yetkilerinde çalıştırın
Burada faydalanılan yöntem kısayolların yönetici yetkilerinde çalıştırılmasına olanak veren seçenektir , bir örnekle açıklayacak olursak ; gelin komut istemini (cmd) admin yetkilerinde çalıştıracak bir .bat scripti oluşturalım hem böylece .bat scriptini admin yetkilerinde çalıştırıp çalıştıramadığımız da kolayca anlaşılır , normal .bat scriptimiz en yalın hali ile aşağıda
@echo off cmd
bunu bir not defterine yapıştırıp farklı kaydet diyelim ve bir isim verip (run_cmd.bat) uzantısı .bat olacak şekilde kaydedelim ,çalıştırdığımda açılan Komut isteminde admin yazmıyor (Aşağıdaki resim)
Oluşturduğumuz run_cmd.bat dosyasına sağ tıklayalım ve Gönder deyip Buradan da masa üstü (Kısayol oluştur) diyelim
masaüstünde oluşan kısayolu sağ tıklayalım ve özellikler diyelim ,sonrasında da kısayol tabı altındaki gelişmiş e tıklayalım.
buraya tıkladığımızda Gelişmiş özellikler açılacaktır burada yeralan Yönetici olarak çalıştır a tik koyup tamam diyelim
Bu sadece .bat scripti için değil tüm kısayollarda uygulanabilecek bir yöntemdir ve genelde en sık kullanılanıdır, bu işlemlerden sonra kısayola tıkladığımızda komut isteminin yönetici olarak çalıştığına şahit olacağız
Cmd yi admin yetkilerinde nasıl çalıştırırız konusunda daha önce birçok defa bilgiler vermiştik lakin burada .bat dosyasını admin yetkileri ile çalıştırıyoru cmd sadece örneğin anlaşılması içindir.
2. Bir .vbscript yardımı ile .bat scriptini admin yetkilerinde çalıştırın
Bu yöntemde .vbs script yardımı ile .bat scriptimizi Admin (Yönetici) yetkilerinde çalıştıracağız , öncelikle üstte oluşturduğumuz run_cmd.bat dosyasına sağ tıklayıp özellikler diyelim ve konum kısmından bulunduğu yolu kopyalayalım , bendeki : C:\Users\velociraptor\Documents\run_cmd.bat (yani belgelerimde) , o halde oluşturacağımız .vbs nin içindeki yol parametresini bulmuş olduk mesela isim olarak admini kullanırsak admin.vbs isminde dosyamızın içine aşağıdaki kodu yapıştıralım.
Set objShell = CreateObject("Shell.Application") objShell.ShellExecute "C:\Users\velociraptor\Documents\run_cmd.bat", "", "", "runas", 1
Şimdi bu admin.vbs yi çalıştırdığımızda komut istemimizin admin yetkilerinde açıldığını göreceğiz.
3. Geçici bir .vbscript ile tek dosyada .bat scriptini admin yetkilerinde çalıştırın
Üstteki kodun kötü tarafı iki farklı dosya olmasında eğer bunları birleştirirsek daha kullanışlı bir hale gelecektir , bunun için aşağıdaki kodu herhangi bir .bat scriptinin en üstüne yapıştırırsak o .bat scripti admin yetkilerinde çalışacaktır.
@echo off :: BatchGotAdmin (Run as Admin code starts) REM --> Check for permissions >nul 2>&1 "%SYSTEMROOT%\system32\cacls.exe" "%SYSTEMROOT%\system32\config\system" REM --> If error flag set, we do not have admin. if '%errorlevel%' NEQ '0' ( echo Requesting administrative privileges... goto UACPrompt ) else ( goto gotAdmin ) :UACPrompt echo Set UAC = CreateObject^("Shell.Application"^) > "%temp%\getadmin.vbs" echo UAC.ShellExecute "%~s0", "", "", "runas", 1 >> "%temp%\getadmin.vbs" "%temp%\getadmin.vbs" exit /B :gotAdmin if exist "%temp%\getadmin.vbs" ( del "%temp%\getadmin.vbs" ) pushd "%CD%" CD /D "%~dp0" :: BatchGotAdmin (Run as Admin code ends) :: Your codes should start from the following line
Bir önceki yöntemdekinden farklı birşey yok aslında , temp dosyasında bir .vbs oluşturup .bat dosyamızı bunun yardımı ile admin yetkilerinde başlatıp geçici oluşturduğumuz .vbs dosyasını sildiriyoruz.
4. Powershell den faydalanarak bir .bat dosyasını admin yetkilerinde çalıştırın
Admin yetkisiz çalışan herhangi bir kodun üst kısmına (@echo off tan hemen sonra) tek satırlık bir powershell scripti kullanıp .bat dosyasının admin yetkilerinde çalışmasını sağlayabiliriz mesela aşağıdaki kod ilk kodumuz olan cmd yi admin yetkilerinde başlatacaktır.
@echo off net session >NUL 2>&1|| powershell Start-Process '%0' -Verb RunAs&& exit /b|| exit /b cmd
Üstteki kod belkide kullanılanların arasında en kısa ve sade olanıdır.
5. Diğer yöntemler
.bat scriptini herhangi bir yazılımla .exe haline getirirsek üstteki gibi admin olarak çalıştırmak için birsürü zahmete girmeyiz , eğerki bilgisyarda sürekli olarak tekrarlı şekilde çalışacak bir .bat scriptinin admin yetkilerinde çalışmasını istiyorsak en ideali bu .bat scriptini Görev Zamanlayıcısına eklmek ve görevin en yüksek ayrıcalıklarla çalıştığından emin olmaktır.
3 Mart 2015 Tarihli başlık güncellendi
gelişmiş önyükleme, biosa git gibi bat dosyaları yaptım. bir tıkla gelişmiş önyüklemeye veya delete, F2 gibi tuşlara basmadan bios ekranına gidebiliyorum. bat dosyalarını exe dosyalarına da çevirme programları var.
Merhabalar Konu dışı bir sorum olacaktı. kusura bakmayın. internetten baya araştırdım ama bulduğum çözümlerin neredeyse hiç biri işe yaramadı.
Sorum şu: pc nin ip adresini değiştirme yetkisini kaldırma.
yapamazsınz. bat dosyası içerisinde yıldız şeklinde gizleme mümkün değil
Merhaba. Bat dosyasının icine admin hesabını ve admin şifresini da ekleyerek nasıl çalıştırabiliriz ? admin şifresini ***** şeklinde maskelu nasıl yazabiliriz?
kısayolu gerçek .bat dosyasının admin yetkilerinde çalışmasını sağlıyor
dikkat ederseniz burada bir batch file ın kısayoluna admin yetkisi vermeyi göstermiş, kendisine değil
Powershell kodlamasından çok fazla anlamıyorum malesef aşağıdaki link umarım yardımcı olur
Web Link ...
Yapmam gereken bir bat dosyası var.Ulaşılamayan ıp adreslerini alıp mail atmam gerekiyo ıpleri normal mail kısmını hallettim yalnız ping atıp ulaşamadıgım ıp adreslerini powershell üizerinde nasıl mail atabilirim
Bu yöntemlerin hepsinde Admin şifresinin bilinmesi gerekir , Admin hesabı altında kısıtlı kullanıcının ; Admin şifrsini bilmeden Admin yetkilerinde program çalışıtrması mümkün değildir
admin şifresini bilmiyorum.ilk yolu denedim ancak kodu çalıştırmak için admin kullanıcı adı ve şifreyi istedi ne yapabilirim