Get-ExecutionPolicy (Microsoft.PowerShell.Security)
Get-ExecutionPolicy
- Modül:
- Microsoft.PowerShell.Security
Geçerli oturumun yürütme ilkelerini alır.
Sözdizimi
Get-ExecutionPolicy
[[-Scope] <ExecutionPolicyScope>]
[-List]
[<CommonParameters>]Tanım
Her kapsamın yürütme ilkelerini öncelik sırasına göre görüntülemek için Get-ExecutionPolicy -List'i kullanın. PowerShell oturumunuzun etkili yürütme politikasını görmek için parametresiz Get-ExecutionPolicy kullanın.
Etkili yürütme ilkesi, Set-ExecutionPolicy ve Grup İlkesi ayarları tarafından belirlenen yürütme ilkeleri tarafından belirlenir.
Daha fazla bilgi için bkz. about_Execution_Policies.
Örnekler
Örnek 1: Tüm yürütme ilkelerini alın
Bu komut, her kapsam için yürütme ilkelerini öncelik sırasına göre görüntüler.
Get-ExecutionPolicy -List
Scope ExecutionPolicy
----- ---------------
MachinePolicy Undefined
UserPolicy Undefined
Process Undefined
CurrentUser AllSigned
LocalMachine Undefined
Get-ExecutionPolicy cmdlet'i, her kapsamın yürütme ilkesini görüntülemek için List parametresini kullanır.
Örnek 2: Yürütme politikası belirleme
Bu örnek, yerel bilgisayar için bir yürütme ilkesinin nasıl ayarlanacağını gösterir.
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope LocalMachine
Get-ExecutionPolicy -List
Scope ExecutionPolicy
----- ---------------
MachinePolicy Undefined
UserPolicy Undefined
Process Undefined
CurrentUser AllSigned
LocalMachine RemoteSignedSet-ExecutionPolicy cmdlet'i, RemoteSigned politikasını belirtmek için ExecutionPolicy parametresini kullanır. Kapsam parametresi varsayılan kapsam değerini (LocalMachine) belirtir. Yürütme ilkesi ayarlarını görüntülemek için List parametresiyle birlikte Get-ExecutionPolicy cmdlet'ini kullanın.
Örnek 3: Etkili yürütme ilkesini edinin
Bu örnek, bir PowerShell oturumu için etkili yürütme ilkesinin nasıl görüntüleneceğini gösterir.
PS> Get-ExecutionPolicy -List
Scope ExecutionPolicy
----- ---------------
MachinePolicy Undefined
UserPolicy Undefined
Process Undefined
CurrentUser AllSigned
LocalMachine RemoteSigned
PS> Get-ExecutionPolicy
AllSignedGet-ExecutionPolicy cmdlet'i, her kapsamın yürütme ilkesini görüntülemek için List parametresini kullanır. Get-ExecutionPolicy cmdlet'i, etkili yürütme politikasını (AllSigned) görüntüleyecek bir parametre olmadan çalıştırılır.
Örnek 4: Yürütme politikasını değiştirmeden çalıştırmak için bir komut dosyasının engellemesini kaldırın
Bu örnek, RemoteSigned yürütme ilkesinin imzasız komut dosyalarını çalıştırmanızı nasıl engellediğini gösterir.
En iyi uygulama, Unblock-File cmdlet'ini kullanmadan önce komut dosyasının kodunu okumak ve güvenli olduğunu doğrulamaktır. Dosyanın Engellemesini Kaldır cmdlet'i komut dosyalarının çalışabilmesi için engellemesini kaldırır, ancak yürütme ilkesini değiştirmez.
PS> Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope LocalMachine
PS> Get-ExecutionPolicy
RemoteSigned
PS> .\Start-ActivityTracker.ps1
.\Start-ActivityTracker.ps1 : File .\Start-ActivityTracker.ps1 cannot be loaded.
The file .\Start-ActivityTracker.ps1 is not digitally signed.
The script will not execute on the system.
For more information, see about_Execution_Policies at https://go.microsoft.com/fwlink/?LinkID=135170.
At line:1 char:1
+ .\Start-ActivityTracker.ps1
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : NotSpecified: (:) [], PSSecurityException
+ FullyQualifiedErrorId : UnauthorizedAccess
PS> Unblock-File -Path .\Start-ActivityTracker.ps1
PS> Get-ExecutionPolicy
RemoteSigned
PS> .\Start-ActivityTracker.ps1
Task 1:Set-ExecutionPolicy, RemoteSigned politikasını belirtmek için ExecutionPolicy parametresini kullanır. Politika, varsayılan kapsam olan LocalMachine için ayarlanmıştır.
Get-ExecutionPolicy cmdlet'i, RemoteSigned'ın geçerli PowerShell oturumu için etkili yürütme ilkesi olduğunu gösterir.
Start-ActivityTracker.ps1 komut dosyası geçerli dizinden yürütülür. Komut dosyası, dijital olarak imzalanmadığından RemoteSigned tarafından engellendi.
Bu örnekte, komut dosyasının kodu incelendi ve çalıştırılmasının güvenli olduğu doğrulandı. Unblock-File cmdlet'i, komut dosyasının engellemesini kaldırmak için Path parametresini kullanır.
Unblock-File'ın yürütme politikasını değiştirmediğini doğrulamak için Get-ExecutionPolicy, etkili yürütme politikasını (RemoteSigned) görüntüler.
Start-ActivityTracker.ps1 komut dosyası geçerli dizinden yürütülür. Komut dosyası, Dosya Engellemesini Kaldır cmdlet'i tarafından engeli kaldırıldığı için çalışmaya başlar.
Parametreler
-List
Oturuma ilişkin tüm yürütme ilkesi değerlerini alır. Varsayılan olarak Get-ExecutionPolicy yalnızca etkili yürütme ilkesini alır.
- Tip :
SwitchParameter
- Konum:
Adlandırılmış
- Varsayılan değer:
None
- Gerekli:
False
- Boru hattı girişini kabul edin:
False
- Joker karakterleri kabul et:
False
-Scope
Bir yürütme ilkesinden etkilenen kapsamı belirtir.
Etkin uygulama politikası öncelik sırasına göre aşağıdaki şekilde belirlenir:
MachinePolicy. Bilgisayarın tüm kullanıcıları için bir Grup İlkesi tarafından ayarlanır.Kullanıcı Politikası. Bilgisayarın geçerli kullanıcısı için bir Grup İlkesi tarafından ayarlanır.İşlem. Yalnızca geçerli PowerShell oturumunu etkiler.LocalMachine. Bilgisayarın tüm kullanıcılarını etkileyen varsayılan kapsam.Geçerli Kullanıcı. Yalnızca geçerli kullanıcıyı etkiler.
- Tip :
Yürütme Politikası Kapsamı
- Kabul edilen değerler:
CurrentUser, LocalMachine, MachinePolicy, Process, UserPolicy
- Konum:
0
- Varsayılan değer:
Etkili yürütme politikası
- Gerekli:
False
- Boru hattı girişini kabul edin:
True
- Joker karakterleri kabul et:
False
Girişler
Yok
Nesneleri bu cmdlet'e aktaramazsınız.
Çıkışlar
ExecutionPolicy
Cmdlet, Linux ve macOS platformlarında her zaman Kısıtlanmamış değerini döndürür. Windows platformlarında geçerli yürütme ilkesini döndürür.
Notlar
Yürütme ilkesi PowerShell güvenlik stratejisinin bir parçasıdır. Yürütme ilkeleri, PowerShell profiliniz gibi yapılandırma dosyalarını yükleyip yükleyemeyeceğinizi veya komut dosyalarını çalıştırıp çalıştıramayacağınızı belirler. Ve komut dosyalarının çalıştırılmadan önce dijital olarak imzalanması gerekip gerekmediği.