Get-ExecutionPolicy

Ottiene i criteri di esecuzione per la sessione corrente.

Sintassi

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

Descrizione

Per visualizzare i criteri di esecuzione per ogni ambito nell'ordine di precedenza, usare Get-ExecutionPolicy -List. Per visualizzare i criteri di esecuzione effettivi per la sessione di PowerShell usata Get-ExecutionPolicy senza parametri.

I criteri di esecuzione effettivi sono determinati dai criteri di esecuzione impostati dalle Set-ExecutionPolicy impostazioni di Criteri di gruppo e .

Per ulteriori informazioni, vedere about_Execution_Policies.

Esempio

Esempio 1: Ottenere tutti i criteri di esecuzione

Questo comando visualizza i criteri di esecuzione per ogni ambito nell'ordine di precedenza.

Get-ExecutionPolicy -List

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

Il Get-ExecutionPolicy cmdlet usa il parametro List per visualizzare i criteri di esecuzione di ogni ambito.

Esempio 2: Impostare un criterio di esecuzione

In questo esempio viene illustrato come impostare un criterio di esecuzione per il computer locale.

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

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

Il Set-ExecutionPolicy cmdlet usa il parametro ExecutionPolicy per specificare i RemoteSigned criteri. Il parametro Scope specifica il valore di ambito predefinito, LocalMachine. Per visualizzare le impostazioni dei criteri di esecuzione, usare il Get-ExecutionPolicy cmdlet con il parametro List .

Esempio 3: Ottenere i criteri di esecuzione effettivi

Questo esempio illustra come visualizzare i criteri di esecuzione effettivi per una sessione di PowerShell.

PS> Get-ExecutionPolicy -List

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

PS> Get-ExecutionPolicy

AllSigned

Il Get-ExecutionPolicy cmdlet usa il parametro List per visualizzare i criteri di esecuzione di ogni ambito. Il Get-ExecutionPolicy cmdlet viene eseguito senza un parametro per visualizzare i criteri di esecuzione effettivi, AllSigned.

Esempio 4: Sbloccare uno script per eseguirlo senza modificare i criteri di esecuzione

In questo esempio viene illustrato come i RemoteSigned criteri di esecuzione impediscono l'esecuzione di script non firmati.

Una procedura consigliata consiste nel leggere il codice dello script e verificare che sia sicuro prima di usare il Unblock-File cmdlet . Il Unblock-File cmdlet sblocca gli script in modo che possano essere eseguiti, ma non modifica i criteri di esecuzione.

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 Usa il parametro ExecutionPolicy per specificare i RemoteSigned criteri. Il criterio è impostato per l'ambito predefinito, LocalMachine.

Il Get-ExecutionPolicy cmdlet mostra che RemoteSigned è il criterio di esecuzione effettivo per la sessione di PowerShell corrente.

Lo Start-ActivityTracker.ps1 script viene eseguito dalla directory corrente. Lo script è bloccato perché RemoteSigned lo script non è firmato digitalmente.

Per questo esempio, il codice dello script è stato esaminato e verificato come sicuro da eseguire. Il Unblock-File cmdlet usa il parametro Path per sbloccare lo script.

Per verificare che Unblock-File i criteri di esecuzione non siano stati modificati, Get-ExecutionPolicy visualizza i criteri di esecuzione effettivi, RemoteSigned.

Lo script viene Start-ActivityTracker.ps1 eseguito dalla directory corrente. Lo script inizia a essere eseguito perché è stato sbloccato dal Unblock-File cmdlet .

Parametri

-List

Ottiene tutti i valori dei criteri di esecuzione per la sessione. Per impostazione predefinita, Get-ExecutionPolicy ottiene solo i criteri di esecuzione effettivi.

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

-Scope

Specifica l'ambito interessato da un criterio di esecuzione.

I criteri di esecuzione effettivi sono determinati dall'ordine di precedenza come indicato di seguito:

  • MachinePolicy. I criteri di esecuzione impostati da Criteri di gruppo per tutti gli utenti del computer.
  • UserPolicy. I criteri di esecuzione impostati da Criteri di gruppo per l'utente corrente del computer.
  • Process. Influisce solo sulla sessione di PowerShell corrente.
  • LocalMachine. Ambito predefinito che interessa tutti gli utenti del computer.
  • CurrentUser. Influisce solo sull'utente corrente.
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

Non è possibile inviare tramite pipe oggetti a questo cmdlet.

Output

ExecutionPolicy

Il cmdlet restituisce sempre Unrestricted nelle piattaforme Linux e macOS. Nelle piattaforme Windows restituisce i criteri di esecuzione correnti.

Note

Un criterio di esecuzione fa parte della strategia di sicurezza di PowerShell. I criteri di esecuzione determinano se è possibile caricare file di configurazione, ad esempio il profilo di PowerShell o eseguire script. Inoltre, se gli script devono essere firmati digitalmente prima di essere eseguiti.