PowerShell Execution Policy

Selamlar arkadaşlar bu makalemde sizlere Execution Policy’i anlatacağım.

Execution Policy Nedir?

Windows tarafında güvenlik nedeni ile dışarıdan indirilmiş ve Güvenli olmayan PowerShell Scriptlerini engelleyecek ve çalıştırmayacaktır. Execution Policy ile bu ayarları değiştirmemiz mümkün olmaktadır.

Cihazımızda bulunan ayarı görebilmemiz için aşağıdaki kodu çalıştırırız. Ben bu kodu Server İşletim Sisteminde çalıştırdığımdan dolayı RemoteSigned olarak gelmektedir ancak Windows 10 yüklü cihazlarda çalıştırmanız durumunda Restricted olarak varsayılan ayar ile gelecektir.

> Get-ExecutionPolicy

ExecutionPolicy’de ayarlayabileceğiniz Parametreler :

Restricted : Son kullanıcı işletim sistemlerinde varsayılan olarak gelen ayardır. Internet ortamından indirilmiş herhangi bir PowerShell dosyasını çalıştırmaz.

AllSigned : Güvenilir yayıncılar tarafından imzalanmış PowerShell Scriptlerini çalıştırılmasına izin verir, Buna Local’inizde yazmış olduğunuz Scriptlerde dahildir.

RemoteSigned : Internetten bir dosya indirip çalıştırmak isterseniz dosyanın Güvenilir bir yayıncıdan imzalanıp imzalanmadığını kontrol edecektir. Aksi halde çalıştırmayacaktır.

UnRestricted : Bütün Scriptlerin çalıştırılmasını sağlar. Güvenilir bir yayımcı tarafından imzalanmamış dosyalarda ekrana uyarı çıkartır ve sizden Onay bekler.

ByPass : Bütün PowerShell dosyalarını çalıştırmanızı sağlar ve herhangi bir Onay sormaz.

UnDefined : Geçerli ExecutionPolicy’i kaldırır. Ancak bu parametre GPO tarafından ayarlanmış ise müdahale edemez.

> Set-ExecutionPolicy –ExecutionPolicy Unrestricted
Bu kod sayesinde uygulanan Policy’i değiştirebiliriz. Yukarıda açıklamış olduğum parametreleri burada kullanabilirsiniz.

MachinePolicy : Bu Kapsam kullanıldığında çalıştırmış olduğunuz Parametre o makina üzerindeki bütün kullanıcılar ve Domain Ortamından giriş yapacak olan kullanıcılar için geçerlidir. GPO üzerinden yapılandırılması gereken bir Policydir.

Process : Bu Kapsam ise sadece o anda çalışan Session için geçerli olmaktadır ve o Session sırasında saklanmaktadır. PowerShell penceresi kapandığı an silinmektedir.

UserPolicy : Bu Kapsam kullanıldığında girilen Parametre belirlenen kullanıcı için geçerlidir. GPO üzerinden yapılandırılması gereken bir Policydir. Aksi halde çalışmayacaktır.

LocalMachine : Bu Kapsam ayarlama yapılan makina üzerindeki bütün kullanıcılar için geçerli olacaktır. Local yapılan bir ayarlamadır ve HKEY_CURRENT_MACHINE sekmesinde konumlandırılır.

CurrentUser : O anki kullanıcı için geçerlidir ve bilgisi aşağıdaki Register alanında tutulmaktadır.
HKEY_CURRENT_USER\Software\MicrosoftPowerShell\1\ShellIds\Microsoft.PowerShell

> Get-ExecutionPolicy –List
Bu komut sayesinde cihazda bulunan listeyi alabiliyoruz.

> Set-ExecutionPolicy –Scope LocalMachine –ExecutionPolicy Undefined –Force
Bu komut sayesinde ise –Scope olarak LocalMachine seçerek Policy’sini Undefined olarak belirledik.

Bir sonraki makalemde görüşmek üzere kolaylıklar dilerim.

Bir Cevap Yazın