Get-ExecutionPolicy

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

Syntax

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 kullanın Get-ExecutionPolicy -List. PowerShell oturumunuzun etkin yürütme ilkesini görmek için parametresiz kullanın Get-ExecutionPolicy .

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

cmdlet'i Get-ExecutionPolicy , her kapsamın yürütme ilkesini görüntülemek için List 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

Cmdlet, Set-ExecutionPolicy ilkeyi belirtmek için ExecutionPolicy parametresini RemoteSigned kullanır. Scope parametresi varsayılan kapsam değerini LocalMachinebelirtir. Yürütme ilkesi ayarlarını görüntülemek için List parametresiyle cmdlet'ini kullanınGet-ExecutionPolicy.

Ö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

cmdlet'i Get-ExecutionPolicy , her kapsamın yürütme ilkesini görüntülemek için List parametresini kullanır. cmdlet'i Get-ExecutionPolicy etkin yürütme ilkesini AllSignedgörüntülemek için parametresiz çalıştırılır.

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

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

En iyi yöntem, cmdlet'ini kullanmadan önce betiğin Unblock-File kodunu okumak ve güvenli olduğunu doğrulamaktır. Unblock-File Cmdlet, çalıştırılabilmeleri için betiklerin 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 ilkeyi belirtmek için ExecutionPolicy parametresini RemoteSigned kullanır. İlke varsayılan kapsam LocalMachineolan için ayarlanır.

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

Betik Start-ActivityTracker.ps1 geçerli dizinden yürütülür. Betik dijital olarak imzalı olmadığından betik tarafından RemoteSigned engellenir.

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

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

Betik, Start-ActivityTracker.ps1 geçerli dizinden yürütülür. Cmdlet'i tarafından Unblock-File engeli kaldırıldığı için betik ç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.

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters: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 bir Grup İlkesi tarafından ayarlanır.
  • UserPolicy. Bilgisayarın geçerli kullanıcısı için bir Grup İlkesi tarafından 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.
Type:ExecutionPolicyScope
Accepted values:CurrentUser, LocalMachine, MachinePolicy, Process, UserPolicy
Position:0
Default value:Effective execution policy
Required:False
Accept pipeline input:True
Accept wildcard characters:False

Girişler

None

Nesneleri bu cmdlet'e yöneltemezsiniz.

Çıkışlar

ExecutionPolicy

Cmdlet her zaman Linux ve macOS platformlarında 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.