Powershell in ne olduğundan ve faydalarından Buradaki yazımızda kısaca bahsetmiştik , özellikle sistem yöneticileri geliştirdikleri Poweshell kodlarının başkaları tarafından görünmesini istemeyebilirler
, bunu yapmanın en kestirme yollarından biride bunları .exe yapmaktır , bu konuda açık kaynak kodlu bir yazılım mevcut , aslında buna yazılımdan ziyade bir script demek daha doğru olacaktır. PS2EXE , herhangi bir Powershell scriptini / kodunu .exe ye çeviren kullanışlı bir yazılımdır , çalışma prensibi şu şekildedir : Powershell scriptini C# ile yazılmış hafif bir PowerShell hostu ile kapsüller ve dinamik olarak hafızada oluşturulan C# kaynak kodunu .exe ye çevirir (derler) , ortaya çıkan .exe bir .NET assembly olup kaynak scriptin Base64 formatında encode edilmiş kodunu içerir , sonuç exe sinin çalışabilmesi için:
1. Sisteminizde Powershell kurulu olmalıdır
2. Sisteminizde .NET Framework v2.0 ve/veya üstü kurulu olmalıdır
3. Powershell yetkileri script çalıştırmanıza izin vermelidir
ilk ikisi çoğu sistemde zaten mevcut olduğundan kısaca Powershell yetki kısmı üzerinde duracağım , Öncelikle sistemimizde powershell scriptlerinin yetki hatası olmadan çalışması için bir küçük düzenleme yapmamız gerekir ; aramaya Powershell yazalım açılan ekranda aşağıdaki komutu verelim:
Start-Process PowerShell -Verb RunAs
Powershell admin modunda açılmış olmalı hemen sonrasında aşağıdaki komutu verelim
Get-ExecutionPolicy
Muhtemelen aşağıdakilerden biri yazacaktır :
Restricted : Scriptler çalışamaz. Windows PowerShell sadece interactive modda çalışabilir
AllSigned : sadece trusted publisher tarafından imzalanan scriptler çalışabilir
RemoteSigned : Download edilen scripler güvenilir bir yayımcı (trusted publisher ) tarafından imzalanmış olmalıdır , yoksa çalışmaz
Unrestricted : kısıtlama yok bütün Poweshell scriptleri çalışacaktır
Şimdi aşağıdaki komutu verelim
Set-ExecutionPolicy RemoteSigned
Böylece Powershell scriptlerimize çalışma yetkisi vermiş olduk , siz Unrestricted i de verebilirsiniz , tekrar .exe yapma işimize geri dönelim. PS2EXE aslında kendisi de bir Powershell scriptidir , yazının sonundaki adresten gerekli dosyayı indirelim ve .zip dosyasından çıkartalım, içerisinde 5 adet dosya göreceksiniz bunlardan "createDemo.bat" ı .exe mizi oluşturmak için kullanacağız , ben sizlerle daha önce burada paylaştığım ve windows exploreri yeniden başlatan scripti .exe haline getireceğim , scriptimiz aşağıda:
$proc = Get-Process foreach ($objItm in $proc) { If ($objItm.ProcessName -eq "explorer") { kill $objItm.ID } }
üstteki kodu bir notepad e yapıştırıp ismine de "restart_explorer" deyin ve uzantısı .ps1 olacak şekilde kaydedin , eğer createDemo.bat ı sağ tıklayıp notepad ile açarsak .exe yi hangi özelliklerde oluşturabileceğimizi görebiliriz , mesela x86 veya x64 e göre derleyebiliriz , ben "callPS2EXE.bat" ın yanına "exe_yap.bat" isimli bir bat dosyası oluşturup içine de aşağıdaki kodu yazdım:
call "callPS2EXE.bat" "restart_explorer.ps1" "restart_explorer.exe"
"restart_explorer.ps1" , exe ye çevrilecek dosya ismim ve "restart_explorer.exe" de çıktı ismim olacaktır , siz bunları kendinize göre özelleştirebilirsiniz , exe_yap.bat a çift tıkladığınıza exe niz oluşacaktır
denemek için exe nizi çalıştırın , explorerin yeniden başlayacaktır. Oluşan restart_explorer.exe yi Virustotalde tarattım ve herhangi bir zararlı bulamadı Burada
Lisans: Freeware/Ücretsiz
Yayımcı: codeplex.com
Boyut: 12,3 KB
Sistem: Windows XP ve üzeri bütün windowslar
- Power GUI ile Powershell scriptlerini exe yapalım Burada
- Uzantısı ps1 olan bir Poweshell scripti nasıl çalıştırılır Burada
- Powershell komutları ile dosya veya Klasör silmek Burada
- Powershell scriptlerini kısayol ile çalıştıralım Burada
- Powershell Yetki sorunlarını çözelim Burada
- Powershell Komutu ile zip dosyası oluşturalım Burada
Umarım uygulamada başarılı olursun.
deneeceğim bakalım inşallah yapabilirim teşekkür