PowerShell Hata Ayıklama: Scriptlerinizin Neden Çalışmadığını ve Bunu Nasıl Düzeltileceğini Öğrenin

Eğer hiç bir PowerShell scriptini çalıştırmayı denediyseniz ve “Bu sistemde scriptlerin yürütülmesi devre dışı bırakıldığı için yüklenemiyor” diye sinir bozucu bir mesajla karşılaştıysanız, yalnız değilsiniz. Bu sorun, özellikle PowerShell’de script yazmaya yeni başlayan kullanıcıları çoğu zaman hazırlıksız yakalayabilir. Bu blog yazısında, bu hatanın ardındaki nedenleri keşfedecek ve onu çözmek için gereken adımları sağlayarak scriptlerinizi kolaylıkla çalıştırmanızı sağlayacağız.

Sorunu Anlamak

Script yürütmenin devre dışı olduğunu belirten hata mesajıyla karşılaştığınızda, genellikle bu PowerShell’in yerleşik güvenlik ayarlarından kaynaklanmaktadır. Varsayılan olarak, PowerShell, güvenilir bir yayıncı tarafından imzalanmamış scriptlerin yürütülmesini engelleyecek şekilde yapılandırılmıştır. Bu, sisteminizin güvenliğini tehlikeye atabilecek zararlı scriptlerin çalıştırılmasını önlemek için bir koruma önlemidir.

Aldığınız spesifik hata, yürütme politikasının script çalıştırmayı engelleyecek şekilde ayarlandığını vurgulamaktadır, bu da PowerShell scriptlerinizi çalıştırmaya çalışırken bir engel oluşturur.

Çözüm: Yürütme Politikasını Değiştirmek

Bu sorunu çözmek için, yerel makinenizde bulunan imzasız scriptlerin yürütülmesine izin verecek şekilde yürütme politikasını değiştirebilirsiniz. PowerShell ayarlarınızı güncellemek için aşağıdaki basit adımları takip edin.

Adım 1: PowerShell’i Yönetici Olarak Açın

Herhangi bir değişiklik yapmadan önce, PowerShell’i yönetici ayrıcalıkları ile açmanız gerekir. Bunu yapmak için:

  1. Windows başlangıç menünüzde PowerShell’i arayın.
  2. “Windows PowerShell” üzerine sağ tıklayın ve “Yönetici olarak çalıştır” seçeneğini seçin.

Adım 2: Mevcut Yürütme Politikasını Kontrol Edin

Mevcut yürütme politikanızı bilmek her zaman faydalıdır. Bu bilgiyi yükseltilmiş PowerShell penceresinde aşağıdaki komutu yazarak kontrol edebilirsiniz:

Get-ExecutionPolicy

Bu, PowerShell ortamınız için ayarlanmış mevcut politikayı gösterecektir.

Adım 3: Yürütme Politikasını Güncelleyin

Yerel, imzasız scriptlerin yürütülmesine izin vermek için, yürütme politikasını RemoteSigned olarak değiştirebilirsiniz. Bu ayar, yerel olarak oluşturulan scriptlerin bir imza gerektirmeden çalışmasına izin verir. Bunu yapmak için aşağıdaki komutu yazın:

Set-ExecutionPolicy RemoteSigned

Bu komutu çalıştırdıktan sonra, PowerShell değişikliği onaylamanızı isteyebilir. Y tuşuna basın ve Enter‘a tıklayın.

Adım 4: Scriptinizi Yeniden Çalıştırın

Artık yürütme politikanızı ayarladığınıza göre, PowerShell scriptinizi tekrar çalıştırmayı deneyin. Scriptiniz artık önceki hatalar olmadan çalışmalıdır.

Önemli Hususlar

  • Güvenlik Riskleri: Yürütme politikalarını gevşetmenin, özellikle güvensiz scriptlerden dolayı sisteminizi riske atabileceğini unutmayın. Her zaman çalıştırdığınız scriptlerin güvenilir kaynaklardan geldiğinden emin olun.
  • Oturuma Özgü Politika: Yürütme politikasını yalnızca mevcut PowerShell oturumunuzun süresi boyunca değiştirmek istiyorsanız, Set-ExecutionPolicy komutuyla -Scope Process parametresini kullanabilirsiniz.

Örnek:

Set-ExecutionPolicy RemoteSigned -Scope Process

Bu şekilde, değişiklikler sistemdeki diğer kullanıcılar veya oturumlar üzerinde etkili olmayacaktır.

Sonuç

PowerShell scriptlerini çalıştırmak, verimliliğinizi önemli ölçüde artırabilir, ancak güvenlik ayarları arasında gezinmek zaman zaman zorlayıcı olabilir. Yürütme politikasını anlayarak ve nasıl değiştireceğinizi bilerek, bu yaygın engeli aşabilirsiniz. Scriptleri çalıştırırken her zaman dikkatli bir yaklaşım sergilemeyi ve sistem güvenliğinizi akılda tutmayı unutmayın.

Bu basit adımlarla, “scriptlerin yürütülmesi devre dışı” hatasını çözmek için iyi bir şekilde donatılmış olmalısınız ve görevlerinizi verimli bir şekilde otomasyona geri dönmelisiniz. İyi script yazmalar!