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 ilkesi 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-ExecutionPolicyRemoteSigned ilkesini belirtmek için ExecutionPolicy parametresini kullanır. Scope parametresi varsayılan kapsam değerini (LocalMachine) belirtir. 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 Get-ExecutionPolicy , etkin yürütme ilkesini ( AllSigned) gö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 betiğin engellemesini kaldırma

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

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

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

Start-ActivityTracker.ps1 betiği geçerli dizinden yürütülür. Betik dijital olarak imzalanmamış olduğundan betik RemoteSigned tarafından engellendi .

Bu örnekte betiğin kodu gözden geçirilmiş ve çalıştırılması güvenli olarak doğrulanmıştır. 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 RemoteSignedGet-ExecutionPolicy etkin yürütme ilkesini görüntüler.

Start-ActivityTracker.ps1betiği 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 öncelik sırasına göre listelenen 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
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 ilkesi tarafından ayarlanır.
  • UserPolicy. Bilgisayarın geçerli kullanıcısı için bir grup ilkesi tarafından ayarlanır.
  • İşlem. Yalnızca geçerli PowerShell oturumunu etkiler.
  • CurrentUser. Yalnızca geçerli kullanıcıyı etkiler.
  • LocalMachine. Bilgisayarın tüm kullanıcılarını etkileyen varsayılan kapsam.
Type:ExecutionPolicyScope
Accepted values:CurrentUser, LocalMachine, MachinePolicy, Process, UserPolicy
Position:0
Default value:Effective execution policy
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ırıp çalıştıramayacağınızı belirler. Betiklerin çalıştırılmadan önce dijital olarak imzalanması gerekip gerekmediği.