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    RemoteSigned

Set-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

AllSigned

Get-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.

İlgili makaleler