Uygulamayı Kapatın ve Arka Planda Çalışıyorsa Durdurun. (PowerShell)
Merhaba;
Bir uygulama yüklediniz ve virüs olduğundan mı şüpheleniyorsunuz. Silmeden önce arka planda çalışan tüm kalıntılarını kapatmak mı istiyorsunuz?
Bu powershell betiği bu konuda işinize yarayacak. Kod: Kodu kopyalamak için üzerine çift tıklayın! # Yönetici haklarıyla çalıştır.
if (-not ([Security.Principal.WindowsPrincipal] [Security.Principal.WindowsIdentity]::GetCurrent()).IsInRole([Security.Principal.WindowsBuiltInRole]::Administrator)) {
# Eğer yönetici hakları yoksa, betiği yeniden yönetici olarak başlat
Write-Host "Betiğin yönetici haklarıyla çalışması gerekiyor. Yönetici olarak yeniden başlatılıyor..."
# Betiği yeniden başlat
Start-Process powershell "-File $PSCommandPath" -Verb RunAs
# Betiği durdur
exit
}
# Pencere arka plan ve yazı rengini ayarla
$host.ui.RawUI.BackgroundColor = 'Black'
$host.ui.RawUI.ForegroundColor = 'Green'
Clear-Host # Renkler ayarlandıktan sonra ekranı temizle
# Sonsuz döngü ile kullanıcıdan uygulama adı alınacak veya betikten çıkış yapılacak
while ($true) {
# Kullanıcıdan uygulama adını ya da 'exit' komutunu iste
do {
$applicationName = Read-Host "Kapatmak istediğiniz uygulamanın adını girin (exit yazarsanız betikten çıkılır)"
if (-not $applicationName) {
Write-Host "Lütfen geçerli bir uygulama adı girin!"
}
} until ($applicationName -and $applicationName -ne "exit") # Boş girildiği sürece yeniden sorar
# Eğer kullanıcı 'exit' yazdıysa, betiği sonlandır
if ($applicationName -eq "exit") {
Write-Host "Çıkış yapılıyor..."
break
}
# Pencere başlığına uygulama adını yazdır
$host.ui.RawUI.WindowTitle = "$applicationName Kapatılıyor"
# Kullanıcıdan gelen uygulama adının geçerli bir işlem olup olmadığını kontrol et
while ($true) {
$process = Get-Process -Name $applicationName -ErrorAction SilentlyContinue
# Eğer uygulama çalışıyorsa kapat
if ($process) {
Write-Host "$applicationName çalışıyor, kapatılıyor..."
Stop-Process -Name $applicationName -Force
} else {
Write-Host "$applicationName arka planda çalışmıyor."
}
# 5 saniye bekle
Start-Sleep -Seconds 5
# Kullanıcıdan yeni bir uygulama adı ya da exit girmesini iste
$newInput = Read-Host "Yeni bir uygulama adı girmek için bir isim girin ya da çıkmak için 'exit' yazın"
# Eğer 'exit' girildiyse betiği sonlandır
if ($newInput -eq "exit") {
Write-Host "Çıkış yapılıyor..."
break
} elseif (-not [string]::IsNullOrEmpty($newInput)) {
# Yeni bir uygulama adı girilmişse döngüden çık ve o uygulamaya geç
$applicationName = $newInput
# Yeni uygulama adı için pencere başlığını güncelle
$host.ui.RawUI.WindowTitle = "$applicationName Kapatılıyor"
break
}
}
# 'exit' komutu ile çıkılacaksa dıştaki döngüden de çıkılır
if ($newInput -eq "exit") {
break
}
} Betiği bir not defterine yapıştırın ve ps1 uzantısı olarak kaydedin.Çalıştırdığınız da sizden kapatılmasını istediğiniz uygulamanın adını isteyecek.Uygulamanın adını girin ve kapatılsın.
Arka planda çalışıp sisteminizi yoran uygulamalarda da kullanabilirsiniz. Uygulamayı tekrar çalıştırana kadar durdurma imkanı verir.
__________________ Kahpeliğin bahanesi, İhanetin telafisi olmaz. |