PowerShell betiğimi çalıştırmaya çalıştığımda bu hatayı alıyorum:
C:\Common\Scripts\hello.ps1 dosyası, bu sistemde komut dosyalarının yürütülmesi devre dışı bırakıldığı için yüklenemiyor. Daha fazla ayrıntı için lütfen "get-help about_signing" bölümüne bakın.
Satır:1 karakter:13
- .\hello.ps1 <<<<
- CategoryInfo : NotSpecified: (:) [], PSSecurityException
- FullyQualifiedErrorId : RuntimeException
Windows PowerShell'i "Yönetici Olarak Çalıştır" seçeneği ile başlatın. Yalnızca bilgisayardaki Administrators grubunun üyeleri yürütme ilkesini değiştirebilir.
Girerek imzasız komut dosyalarını çalıştırmayı etkinleştirin:
set-executionpolicy remotesigned
Bu, yerel bilgisayarınızda yazdığınız imzasız betiklerin ve imzalı betiklerin çalıştırılmasına izin verecektir. İnternetten komut dosyaları.
Ayrıca Microsoft TechNet Kitaplığı'ndaki Komut Dosyalarını Çalıştırma bölümüne bakın.
Varsayılan Yürütme İlkesi kısıtlı olarak ayarlanmıştır, bunu yazarak görebilirsiniz:
Get-ExecutionPolicy
Kısıtlamasız moda geçmesi için aşağıdakileri yazmalısınız:
Set-ExecutionPolicy unrestricted
Umarım bu yardımcı olur
Betik geliştirmek için kullandığım makinemde, yukarıdaki gibi -unrestricted kullanacağım. Ancak betiklerimi bir son kullanıcı makinesine dağıtırken powershell'i -executionpolicy anahtarıyla çağıracağım:
powershell.exe -noprofile -executionpolicy bypass -file .\script.ps1