PowerShell, iyi ve gelişmiş bir platformlar arası görev otomasyonu çözümüdür. Bir Windows sisteminde bir PowerShell betiği oluşturmak ve çalıştırmak genellikle çok kolaydır. Ancak, “ ile engellenmiş olabilirsiniz.Komut dosyalarını çalıştırmak bu sistemde devre dışıdır.” hata mesajı sisteminizde bir komut dosyası çalıştırırsanız. Sistem yöneticisi, sistemde yetkisiz komut dosyalarının çalışmasını engellemek için bir ilke yerleştirdiyse, belirtilen hata mesajını görürsünüz. Politikanın engellemesini kaldırmanız veya kayıt defterini değiştirmeniz gerekir ve herhangi bir komut dosyasını çalıştırabilirsiniz.
İçindekiler
Düzeltme 1 – PowerShell'i Ayarlayın
Geçerli yürütme ilkesini atlayarak bir kod çalıştırabilirsiniz. Yani, onu kurcalamak zorunda değilsiniz ama betiğinizi çalıştırabilirsiniz.
1. düğmesine bastıktan sonra Windows tuşu+S tuşlarını birlikte yazın, "güç kalkanı“.
2. Ardından, “ üzerine sağ tıklayın
Windows PowerShell'i” ve “ öğesine dokununYönetici olarak çalıştır“.3. Windows PowerShell ekranı göründüğünde, tip bu kodu ve buna göre değiştirin ve Giriş yürütmek için.
powershell -ExecutionPolicy ByPass -Dosya betiğin adı.ps1
[
Sadece "nameofthescript.ps1” çalıştırmaya çalıştığınız betiğin adı ile.
Örnek – Diyelim ki betiğin adı “Myscript", komut olacak -
powershell -ExecutionPolicy ByPass -Dosya myscript.ps1
]
REKLAMCILIK
Bu şekilde, mevcut komut dosyası yürütme politikasını değiştirmeden herhangi bir komut dosyasını çalıştırabilirsiniz. Ancak, komut dosyalarını toplu olarak çalıştırıyorsanız veya otomatik bir komut dosyası oluşturuyorsanız, bu işe yaramaz.
Bunun için bir sonraki düzeltmeye bakmalısınız.
Düzeltme 2 - Yürütme Politikasını Değiştirin
İsterseniz mevcut yürütme ilkesi ayarlarını değiştirebilirsiniz.
1. tekrar basın Windows tuşu ve "yazıngüç kalkanı“.
2. Daha sonra sağ tıklayın “Windows PowerShell'i” ve “ öğesine dokununYönetici olarak çalıştır” terminali yönetici haklarıyla açmak için.
3. Açıldığında, tip seçiminize göre yürütme politikasını değiştirmek için bu komut.
Set-ExecutionPolicy Uzaktan İmzalı
[
Komut Dosyası Yürütme Politikasını dört farklı moda ayarlayabilirsiniz. Bunlar -
Sınırlı – PowerShell'in sistemde herhangi bir komut dosyasının çalıştırılmasına izin vermediği varsayılan mod.
Hepsi İmzalı – Bu modda yalnızca imzalı ve yetkili komut dosyalarının çalışmasına izin verilecektir.
Uzaktan İmzalı – Bu modda, indirdiğiniz tüm komut dosyalarının güvenilir bir imzanın imzasına sahip olması gerekir.
sınırsız - Tercih ettiğiniz herhangi bir komut dosyasını çalıştırabilirsiniz. Güvenilir imza veya güvenilir yayıncı konusunda sınır yoktur.
Örnek vermek – Diyelim ki, politika ayarlarını 'Uzaktan İmzalı' olarak ayarlamak istiyorsunuz, komut şöyle olacaktır –
Set-ExecutionPolicy Uzaktan İmzalı
]
Bundan sonra, "Y” ve vurdu Giriş.
4. Herhangi bir hata mesajıyla karşılaşırsanız, bu komutu çalıştırmanız yeterlidir.
Set-ExecutionPolicy RemoteSigned -Scope CurrentUser
Yine yaz"Y” ve vurdu Giriş.
Bunu yaptıktan sonra, betiği istediğiniz gibi kolayca çalıştırabilirsiniz.
Komut dosyasını çalıştırarak test edin.
NOT –
Komut dosyalarının yürütme politikası genellikle kısıtlıdır çünkü yanlış yapılandırılmış veya hatalı komut dosyaları sisteme ölümcül zarar verebilir. Böylece, betiği çalıştırmayı bitirdikten sonra, yürütme politikasını tekrar 'Kısıtlı' moda ayarlayabilirsiniz.
1. Yönetici ayrıcalıklarıyla PowerShell'e erişin.
2. Şimdi, herhangi bir ilkenin sistemde çalışmasını kısıtlamak için bu tek kodu yürütmeniz yeterlidir.
Set-ExecutionPolicy Kısıtlı
3. Yine yaz"Y” ve vurdu Giriş.
Bundan sonra, PowerShell penceresini kapatın.
Düzeltme 3 - Kayıt Defterini Düzenleyin
Yürütme ilkesini değiştirirken herhangi bir hata mesajıyla karşılaşırsanız, Kayıt Defteri Düzenleyicisi'ni düzenleyebilirsiniz.
1. Sadece yaz "regedit.msc” görev çubuğundaki arama kutusunda.
2. Bundan sonra, “ öğesine dokunun.Kayıt düzenleyici” erişmek için.
Uyarı - Kayıt defterinizi değiştireceksiniz. Kayıt Defteri Düzenleyicisi, sisteminizin çok önemli bir parçası olduğundan, önceden bir kayıt defteri yedeği almalısınız.
Kayıt Defteri Düzenleyicisi açıldığında, “ üzerine dokunun.Dosya“. Ardından “İhracat” sisteminizde yeni bir kayıt defteri yedeği oluşturmak için.
Daha sonra, işler ters giderse bu yedeği kullanabilirsiniz.
3. Şimdi, sol tarafı bu şekilde genişletin –
Bilgisayar\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\PowerShell\ShellIds\ScriptedDiagnostics
4. O zamanlar, iki kez dokunma "Yürütme Politikası” ikili değer.
5. Sadece yaz "sınırsız” 'Değer Verisi:' kutusunda.
6. Ardından, “ öğesine dokunun.Tamam” bu değişikliği kaydetmek için.
Bundan sonra Kayıt Defteri Düzenleyicisi'ni kapatın. Kayıt Defteri Düzenleyicisini kapattıktan sonra sistemi yeniden başlatın.
Bilgisayarınızı yeniden başlattıktan sonra, istediğiniz bir komut dosyasını kolayca çalıştırabilirsiniz.