PowerShell scriptlerini Admin olarak çalıştıralım


powershell i admin olarak çalıştır

Bazen Powershell scriptlerinin Admin yetkisinde çalıştırılmaları gerekmektedir yoksa erişim reddedildi hatası ile karşılaşırız bu mesela HKEY_CLASSES_ROOT registry kaydına yazdırmak istediğimizde

veya sistem tarafından korunan bir dizin veya klasörde işlem yaptırmak istediğinizde meydana gelebilir , zaten Powershell ekranındaki Kırmızı yazılardan birşeylerin ters gittiğini hemen anlarsınız.

powershell yetkisizlik

Üstteki resimde gördüğünüz üzere Powershell scriptini admin olarak çalıştırmadığımızdan dolayı anahtara erişim rededildi hatasını almaktayız , oysa scripti admin olarak çalıştırsak bu hatayı almayacaktık.

Powershell i Admin olarak çalıştırma yolları:

1. Powershell i sağ tıklayıp admin olarak çalıştıralım , eğer sizde aşağıdaki resimdeki gibi program menüsünde yoksa masasütüne atayacağınız bir kısayol u sağ tıklayıp admin olarak çalıştır da diyebilirsiniz

Powershell yonetici olarak_calistir

2. Aramaya Powershell yazıp açılan ekranda aşağıdaki komutu verebilirsiniz

Start-Process PowerShell -Verb RunAs

Gel gelelim bu üstteki her iki yöntemden sonra .Ps1 (powershell scripti) olan klasör veya dizine geçip scripti ancak o şekilde çalıştırabiliriz peki scriptiniz iç içe geçmiş onlarca dosyanın içerisinde ise üstteki şekilde admin olarak çalıştırılan Powershell bize pekte pratiklik sağlamayacaktır , Bir klasöre sağ tıkladığımızda Powershell i burada aç diye bir link çıksa nasıl olurdu ?

3. KLasöre sağ tıkladığımızda “Open PowerShell Here as Admin” (Powershell i burada Admin olarak çalıştır) çıksın

Sağ tuşa Powershell i yönetici olarak çalıştır eklentisi

bunun için aşağıdaki registry kaydını kullanmamız yeterlidir:

Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\Directory\shell\runas]
@="Open PowerShell Here as Admin"
"HasLUAShield"=""

[HKEY_CLASSES_ROOT\Directory\shell\runas\command]
@="C:\\Windows\\System32\\WindowsPowerShell\\v1.0\\powershell.exe -NoExit -NoProfile -Command \"Set-Location '%V'\""

[HKEY_CLASSES_ROOT\Directory\Background\shell\runas]
@="Open Windows PowerShell Here as Administrator"
"HasLUAShield"=""

[HKEY_CLASSES_ROOT\Directory\Background\shell\runas\command]
@="C:\\Windows\\System32\\WindowsPowerShell\\v1.0\\powershell.exe -NoExit -NoProfile -Command \"Set-Location '%V'\""

Default hale getirelim

Windows Registry Editor Version 5.00

[-HKEY_CLASSES_ROOT\Directory\shell\runas]

[-HKEY_CLASSES_ROOT\Directory\Background\shell\runas]

üstteki eklenti ile Powershell i scriptimizin bulunduğu klasöre sağ tıklayıp açabileceğimizden dizinler /klasörler arasında geçiş zahmetinden kurtulmuş oluyoruz ve aynı zamanda da Powershell Admin yetkilerinde çalışmış oluyor , bizede scripti çalıştırmak için sadece adını yazmak kalıyor , peki işi bir adım daha ileri götürsek yani scripti sağ tıkladığımızda Yönetici olarak çalıştır çıksa nasıl olur ?

4. Powershell scriptlerini sağ tıkladığımızda yönetici olarak çalıştır çıksın

.ps1 ler yonetici olarak çalışssın

Bunun için ise aşağıdaki registry kaydı yeterlidir

Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\Microsoft.PowerShellScript.1\Shell\runas]

[HKEY_CLASSES_ROOT\Microsoft.PowerShellScript.1\Shell\runas\command]
@="\"c:\\windows\\system32\\windowspowershell\\v1.0\\powershell.exe\" -noexit \"%1\""

Default hale getirelim

Windows Registry Editor Version 5.00

[-HKEY_CLASSES_ROOT\Microsoft.PowerShellScript.1\Shell\runas]

Bu kayıtla herhangi bir scripte sağ tıklayıp yönetici olarak çalıştır dediğimizde hem dizinler arasında geçişlerden hem scripti çalıştırmak için adını yazmaktan hemde Powershell i yönetici olarak çalıştırmaktan kurtuluyoruz. Peki Powershell scriptlerini .bat veya .vbs kodları ile çalıştırabilirmiyiz diye soranlar olacaktır , evet çalıştırılabilir mesela “C:\Users\velociraptor\Documents” konumunda “test.ps1” diye bir Powershell scriptim olsun , scripti:
.bat kodları ile çalıştıralım

powershell.exe C:\Users\velociraptor\Documents\test.ps1 

.vbs Kodları ile çalıştıralım

Set objShell = CreateObject("Wscript.shell")
objShell.run("powershell -noexit -file C:\Users\velociraptor\Documents\test.ps1") 

Görüldüğü üzere Powershell kolaylıklarından faydalanmak için diğer scriptlerle de powershell scriptlerini çalıştırabiliyoruz.

Velociraptor çalışmasıdır (Lütfen kaynak belirtmeden kullanmayınız)



Yorum Ekle

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

CAPTCHA