Nasıl çözülür: Çalıştırılan komut dosyaları devre dışı bırakıldığı için komut dosyası yüklenemiyor
Bir PowerShell betiğini çalıştırmayı denediğinizde bazen aşağıdaki hata mesajı gösterilir:
.\Script.ps1 : File C:\Script.ps1 cannot be loaded because running scripts is disabled
on this system. For more information, see about_Execution_Policies at
https:/go.microsoft.com/fwlink/?LinkID=135170.
At line:1 char:1
+ .\Script.ps1
+ ~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : SecurityError: (:) [], PSSecurityException
+ FullyQualifiedErrorId : UnauthorizedAccessBu hata mesajına PowerShell Yürütme İlkesi'nin yapılandırması neden olur.
Uyarı: Kısıtlamalar, sisteminize zarar verebilecek, yanlışlıkla çalıştırılan komut dosyalarına karşı sizi korumak için uygulanmıştır.
Bu hata mesajından kurtulmanın ve betiğinizi çalıştırmanın çözümü basittir. Ancak bunu nasıl düzelteceğinize karar vermeden önce kapsamı göz önünde bulundurmanız gerekir:
- Yalnızca bu özel betiğin (burada ve şimdi) çalışmasını mı istiyorsunuz? - veya
- Tüm komut dosyalarını her zaman çalıştırabilmek ister misiniz?
(Bunlar, bu sorunu çözmek için kullanılan en yaygın iki seçenektir ancak daha fazlası da mevcuttur!)
Betiği yalnızca bir kez çalıştırmak istiyorsanız geçerli PowerShell oturumunda çalışmasına izin vermek için aşağıdaki komutu kullanın:
Set-ExecutionPolicy -ExecutionPolicy Unrestricted -Scope ProcessYukarıdaki komutta kapsam 'İşlem' olarak ayarlanmıştır. Bu, yeni yürütme politikasının yalnızca mevcut süreçte geçerli olduğu anlamına gelir. Eski kısıtlamalar bu özel PowerShell oturumu dışında da geçerlidir.
Alternatif olarak, gelecekte sisteminizde komut dosyalarını özgürce çalıştırabilmek istiyorsanız aşağıdaki komutu kullanın:
Set-ExecutionPolicy -ExecutionPolicy Unrestricted -Scope CurrentUserKapsam "Kullanıcı" olarak ayarlandığında, yeni PowerShell yürütme ilkesi kayıt defterinde kalıcı olur ve PowerShell oturumlarında ve sistem yeniden başlatmalarında kalıcı olur.
PowerShell Olmadan Office 365 Nasıl Yönetilir
PowerShell komutlarını Google'da aramak çok zaman alabilir ancak genellikle Azure AD Connect'i senkronize etmek, Office 365 takvim izinlerini yönetmek ve daha fazlası için gereklidir.
Tüm sektörlerdeki kuruluşlar ve şirketler artık günlük AD ve Office 365 operasyonlarını basitleştirmek ve kolaylaştırmak için Easy365Manager'ı kullanmaya başlıyor.
Easy365Manager, Office 365 lisanslarını ve posta kutularını yönetmenize ve Azure AD Connect senkronizasyonunu doğrudan AD kullanıcı özelliklerinden gerçekleştirmenize olanak tanıyan, Active Directory Kullanıcıları ve Bilgisayarlarına yönelik bir ek bileşendir:
Easy365Manager ile artık günlük yönetiminiz için PowerShell'e ihtiyacınız yok ve hatta şirket içi Exchange Sunucunuzu kullanımdan kaldırabilirsiniz.
Easy365Manager'ı tam olarak anlamak için bu isteğe bağlı web seminerini izleyin:
Özellik listesinin tamamını buradan okuyun veya risksiz 30 günlük tam işlevli deneme sürümünü buradan indirin.
PowerShell Yürütme İlkeleri
PowerShell, daha önce bahsedilen ikisinden daha fazla yürütme politikası sunar.
PowerShell toplamda yedi farklı yürütme politikası sunar:
1. Tüm İmzalar
AllSigned yürütme politikasıyla, güvenilir yayıncılar tarafından imzalanan komut dosyaları herhangi bir müdahaleye gerek kalmadan çalışır.
Güvenilmeyen varlıklar tarafından imzalanan komut dosyaları, komut dosyasını çalıştırmanıza izin veren bir komut istemine neden olur.
2. Baypas
Bypass ile hiçbir şeyin çalışması engellenmez ve uyarı içeren herhangi bir komut görüntülenmez.
3. Varsayılan
Varsayılan politika işletim sistemine bağlı olarak değişir:
Windows istemcileri için varsayılan ilke Sınırlı'yı belirtir.
Windows sunucu işletim sistemleri için varsayılan ilke RemoteSigned'ı belirtir.
4.Uzaktan İmzalı
RemoteSigned yürütme ilkesiyle, İnternet'ten indirilen tüm komut dosyalarının güvenilir bir yayıncı tarafından imzalanması gerekir.
Yerel komut dosyaları, komut dosyasında dijital imza olmadan çalışabilir.
5. Kısıtlı
Bu yapılandırma, ayrı ayrı PowerShell komutlarını çalıştırmanıza olanak tanır ancak modüller dahil komut dosyalarının çalıştırılmasını engeller.
6. Tanımsız
Bu ayar, hiçbir yürütme ilkesinin yapılandırılmadığını gösterir (geçerli kapsam için).
7. Sınırsız
Bu yürütme ilkesi, imzasız komut dosyalarının çalıştırılmasına izin verir ancak yerel intranet bölgesinden olmayan komut dosyalarını çalıştırırken kullanıcıyı uyarır.
PowerShell Yürütme Politikası Kapsamları
Yukarıdaki PowerShell yürütme ilkeleri beş farklı kapsamda yapılandırılabilir.
Kapsamlar yukarıdan aşağıya aşağıdaki sırayla önceliklidir:
1. Makine Politikası
Bu kapsam, bir Grup İlkesi Nesnesindeki (GPO) bilgisayar ilkesi tarafından yapılandırılır.
Sistemdeki tüm kullanıcıları etkiler.
2. Kullanıcı Politikası
Bu kapsam, Grup İlkesi Nesnesindeki (GPO) kullanıcı ilkesi tarafından yapılandırılır.
Yalnızca GPO'nun hedeflediği kullanıcıları etkiler.
3. Süreç
Bu kapsam yalnızca geçerli işlemi (PowerShell oturumu) etkiler.
Geçerli işlem kapatıldığında yapılandırılmış yürütme ilkesi artık mevcut değildir.
4. Mevcut Kullanıcı
Bu ayar yalnızca geçerli kullanıcıyı etkiler ve HKEY_CURRENT_USER kayıt defteri kovanındaki yeniden başlatmalarda kalıcı olur.
5. Yerel Makine
Bu ayar sistemdeki tüm kullanıcıları etkiler ve HKEY_LOCAL_MACHINE kayıt defteri kovanındaki yeniden başlatmalarda kalıcı olur.
Komut Dosyalarının Çalıştırılmasının Neden Devre Dışı Bırakıldığını Kontrol Etme
Yürütme politikaları farklı kapsam düzeylerinde ayarlanabildiğinden, komut dosyalarının sisteminizde neden engellendiğini anlamak için hepsini incelemeniz gerekir.
Çeşitli kapsamlar için yapılandırılan PowerShell yürütme ilkelerini listelemek için aşağıdaki komutu kullanın:
Get-ExecutionPolicy -ListKomutun çıktısı şuna benzer görünebilir:
PS C:\> Get-ExecutionPolicy -List
Scope ExecutionPolicy
----- ---------------
MachinePolicy Undefined
UserPolicy Undefined
Process Unrestricted
CurrentUser Undefined
LocalMachine RestrictedDaha yüksek kapsamların daha düşük kapsamlara göre öncelikli olduğunu unutmayın.
Daha fazla okuma
PowerShell yürütme ilkelerini daha ayrıntılı olarak incelemek için Microsoft'un resmi belgelerine bakın.

