Aracılığıyla paylaş


Get-ExecutionPolicy

Geçerli oturum için yürütme ilkelerini alır.

Sözdizimi

All

Get-ExecutionPolicy
    [[-Scope] <ExecutionPolicyScope>]
    [-List]
    [<CommonParameters>]

Description

Her kapsamın yürütme ilkelerini öncelik sırasına göre görüntülemek için Get-ExecutionPolicy -Listkullanın. PowerShell oturumunuzun etkin yürütme ilkesini görmek için parametresiz Get-ExecutionPolicy kullanın.

Etkin yürütme ilkesi, Set-ExecutionPolicy ve Grup İlkesi ayarları tarafından ayarlanan 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 alma

Bu komut, her kapsamın 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 Listesi parametresini kullanır.

Örnek 2: Yürütme ilkesi ayarlama

Bu örnekte, yerel bilgisayar için bir yürütme ilkesinin nasıl ayarlanacağı gösterilmektedir.

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, ilkesini belirtmek için RemoteSigned parametresini kullanır. Kapsam parametresi, LocalMachinevarsayılan kapsam değerini belirtir. Yürütme ilkesi ayarlarını görüntülemek için Get-ExecutionPolicy parametresiyle cmdlet'ini kullanın.

Örnek 3: Etkin yürütme ilkesini alma

Bu örnekte, bir PowerShell oturumu için etkin yürütme ilkesinin nasıl görüntüleneceği gösterilmektedir.

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 Listesi parametresini kullanır. Get-ExecutionPolicyetkin yürütme ilkesini görüntülemek için AllSigned cmdlet'i parametresiz çalıştırılır.

Örnek 4: Yürütme ilkesini değiştirmeden bir betiği çalıştırmak için engellemesini kaldırma

Bu örnekte, RemoteSigned yürütme ilkesinin imzalanmamış betikleri çalıştırmanızı nasıl önlediği gösterilmektedir.

Betiğin kodunu okumak ve cmdlet'ini kullanarak önce güvenli doğrulamak en iyi yöntemdir. Unblock-File cmdlet, betiklerin çalıştırılabilmesi için engellerini 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, ilkesini belirtmek için RemoteSigned parametresini kullanır. Politika, LocalMachinevarsayılan kapsam için ayarlanır.

Get-ExecutionPolicy cmdlet, RemoteSigned'in geçerli PowerShell oturumu için etkili yürütme ilkesi olduğunu gösterir.

Start-ActivityTracker.ps1 betiği bulunduğunuz dizinden yürütülür. Betik dijital olarak imzalı olmadığından betik RemoteSigned tarafından engellenir.

Bu örnekte betiğin kodu gözden geçirildi ve çalıştırılması güvenli olarak doğrulandı. Unblock-File cmdlet'i, betiğin engelini kaldırmak için Path parametresini kullanır.

Unblock-File yürütme ilkesini değiştirmediğini doğrulamak için Get-ExecutionPolicy etkin yürütme ilkesini RemoteSignedgörüntüler.

Start-ActivityTracker.ps1 betiği mevcut dizinden yürütülür. Betik, Unblock-File cmdlet'i tarafından engeli kaldırıldığından çalışmaya başlar.

Parametreler

-List

Oturum için tüm yürütme ilkesi değerlerini alır. Varsayılan olarak, Get-ExecutionPolicy yalnızca etkin yürütme ilkesini alır.

Parametre özellikleri

Tür:SwitchParameter
Default value:None
Joker karakterleri destekler:False
DontShow:False

Parametre kümeleri

(All)
Position:Named
Zorunlu:False
İşlem hattından gelen değer:False
Özellik adına göre işlem hattından gelen değer:False
Kalan bağımsız değişkenlerden elde edilen değer:False

-Scope

Yürütme ilkesinden etkilenen kapsamı belirtir.

Etkin yürütme ilkesi, öncelik sırasına göre aşağıdaki gibi belirlenir:

  • MachinePolicy. Bilgisayarın tüm kullanıcıları için Grup İlkesi ile ayarlanır.
  • UserPolicy. Bilgisayarın mevcut kullanıcısı için bir Grup İlkesiyle ayarlanır.
  • Process. Yalnızca geçerli PowerShell oturumunu etkiler.
  • LocalMachine. Bilgisayarın tüm kullanıcılarını etkileyen varsayılan kapsam.
  • CurrentUser. Yalnızca geçerli kullanıcıyı etkiler.

Parametre özellikleri

Tür:ExecutionPolicyScope
Default value:Effective execution policy
Kabul edilen değerler:CurrentUser, LocalMachine, MachinePolicy, Process, UserPolicy
Joker karakterleri destekler:False
DontShow:False

Parametre kümeleri

(All)
Position:0
Zorunlu:False
İşlem hattından gelen değer:False
Özellik adına göre işlem hattından gelen değer:True
Kalan bağımsız değişkenlerden elde edilen değer:False

CommonParameters

Bu cmdlet yaygın parametreleri destekler: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction ve -WarningVariable. Daha fazla bilgi için bkz. about_CommonParameters.

Girişler

None

Nesneleri bu cmdlet'e yöneltemezsiniz.

Çıkışlar

ExecutionPolicy

Linux ve macOS platformlarında cmdlet her zaman Sınırsız 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 betik çalıştırabileceğinizi belirler. Ayrıca betiklerin çalıştırılmadan önce dijital olarak imzalanması gerekip gerekmediği.