Get-ExecutionPolicy

Mendapatkan kebijakan eksekusi untuk sesi saat ini.

Sintaks

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

Deskripsi

Untuk menampilkan kebijakan eksekusi untuk setiap cakupan dalam urutan prioritas, gunakan Get-ExecutionPolicy -List. Untuk melihat kebijakan eksekusi yang efektif untuk penggunaan Get-ExecutionPolicy sesi PowerShell Anda tanpa parameter.

Kebijakan eksekusi yang efektif ditentukan oleh kebijakan eksekusi yang ditetapkan oleh Set-ExecutionPolicy dan pengaturan Kebijakan Grup.

Untuk informasi selengkapnya, lihat about_Execution_Policies.

Contoh

Contoh 1: Dapatkan semua kebijakan eksekusi

Perintah ini menampilkan kebijakan eksekusi untuk setiap cakupan dalam urutan prioritas.

Get-ExecutionPolicy -List

Scope          ExecutionPolicy
-----          ---------------
MachinePolicy  Undefined
UserPolicy     Undefined
Process        Undefined
CurrentUser    AllSigned
LocalMachine   Undefined

Get-ExecutionPolicy Cmdlet menggunakan parameter Daftar untuk menampilkan kebijakan eksekusi setiap cakupan.

Contoh 2: Mengatur kebijakan eksekusi

Contoh ini menunjukkan cara mengatur kebijakan eksekusi untuk komputer lokal.

Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope LocalMachine
Get-ExecutionPolicy -List

Scope ExecutionPolicy
        ----- ---------------
MachinePolicy       Undefined
   UserPolicy       Undefined
      Process       Undefined
  CurrentUser       AllSigned
 LocalMachine    RemoteSigned

Set-ExecutionPolicy Cmdlet menggunakan parameter ExecutionPolicy untuk menentukan RemoteSigned kebijakan. Parameter Cakupan menentukan nilai cakupan default, LocalMachine. Untuk melihat pengaturan kebijakan eksekusi, gunakan Get-ExecutionPolicy cmdlet dengan parameter Daftar .

Contoh 3: Dapatkan kebijakan eksekusi yang efektif

Contoh ini menunjukkan cara menampilkan kebijakan eksekusi yang efektif untuk sesi PowerShell.

PS> Get-ExecutionPolicy -List

        Scope ExecutionPolicy
        ----- ---------------
MachinePolicy       Undefined
   UserPolicy       Undefined
      Process       Undefined
  CurrentUser       AllSigned
 LocalMachine    RemoteSigned

PS> Get-ExecutionPolicy

AllSigned

Get-ExecutionPolicy Cmdlet menggunakan parameter Daftar untuk menampilkan kebijakan eksekusi setiap cakupan. Get-ExecutionPolicy Cmdlet dijalankan tanpa parameter untuk menampilkan kebijakan eksekusi yang efektif, AllSigned.

Contoh 4: Buka blokir skrip untuk menjalankannya tanpa mengubah kebijakan eksekusi

Contoh ini menunjukkan bagaimana RemoteSigned kebijakan eksekusi mencegah Anda menjalankan skrip yang tidak ditandatangani.

Praktik terbaik adalah membaca kode skrip dan memverifikasi bahwa kode tersebut aman sebelum menggunakan Unblock-File cmdlet. Unblock-File Cmdlet membuka blokir skrip sehingga dapat berjalan, tetapi tidak mengubah kebijakan eksekusi.

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 menggunakan parameter ExecutionPolicy untuk menentukan RemoteSigned kebijakan. Kebijakan diatur untuk cakupan default, LocalMachine.

Get-ExecutionPolicy Cmdlet menunjukkan bahwa adalah kebijakan eksekusi yang RemoteSigned efektif untuk sesi PowerShell saat ini.

Start-ActivityTracker.ps1 Skrip dijalankan dari direktori saat ini. Skrip diblokir oleh RemoteSigned karena skrip tidak ditandatangani secara digital.

Untuk contoh ini, kode skrip ditinjau dan diverifikasi sebagai aman untuk dijalankan. Unblock-File Cmdlet menggunakan parameter Jalur untuk membuka blokir skrip.

Untuk memverifikasi bahwa Unblock-File tidak mengubah kebijakan eksekusi, Get-ExecutionPolicy menampilkan kebijakan eksekusi yang efektif, RemoteSigned.

Skrip, Start-ActivityTracker.ps1 dijalankan dari direktori saat ini. Skrip mulai berjalan karena tidak diblokir oleh Unblock-File cmdlet.

Parameter

-List

Mendapatkan semua nilai kebijakan eksekusi untuk sesi tersebut. Secara default, Get-ExecutionPolicy hanya mendapatkan kebijakan eksekusi yang efektif.

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Scope

Menentukan cakupan yang dipengaruhi oleh kebijakan eksekusi.

Kebijakan eksekusi yang efektif ditentukan oleh urutan prioritas sebagai berikut:

  • MachinePolicy. Diatur oleh Kebijakan Grup untuk semua pengguna komputer.
  • UserPolicy. Diatur oleh Kebijakan Grup untuk pengguna komputer saat ini.
  • Process. Hanya memengaruhi sesi PowerShell saat ini.
  • LocalMachine. Cakupan default yang memengaruhi semua pengguna komputer.
  • CurrentUser. Hanya memengaruhi pengguna saat ini.
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

Input

None

Anda tidak dapat menyalurkan objek ke cmdlet ini.

Output

ExecutionPolicy

Cmdlet selalu menampilkan Unrestricted pada platform Linux dan macOS. Pada platform Windows, ia mengembalikan kebijakan eksekusi saat ini.

Catatan

Kebijakan eksekusi adalah bagian dari strategi keamanan PowerShell. Kebijakan eksekusi menentukan apakah Anda dapat memuat file konfigurasi, seperti profil PowerShell Anda, atau menjalankan skrip. Dan, apakah skrip harus ditandatangani secara digital sebelum dijalankan.