Get-ExecutionPolicy
Ottiene i criteri di esecuzione per la sessione corrente.
Sintassi
All
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, usare Get-ExecutionPolicy senza parametri.
I criteri di esecuzione effettivi sono determinati dai criteri di esecuzione impostati da Set-ExecutionPolicy e dalle impostazioni di Criteri di gruppo.
Per altre 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 cmdlet Get-ExecutionPolicy 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 cmdlet Set-ExecutionPolicy usa il parametro ExecutionPolicy per specificare la politica RemoteSigned. Il parametro Scope specifica il valore di ambito predefinito, LocalMachine.
Per visualizzare le impostazioni dei criteri di esecuzione, usare il cmdlet Get-ExecutionPolicy 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 cmdlet Get-ExecutionPolicy usa il parametro List per visualizzare i criteri di esecuzione di ogni ambito. Il cmdlet Get-ExecutionPolicy 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 criteri di esecuzione RemoteSigned impediscono l'esecuzione di script non firmati.
È consigliabile leggere il codice dello script e verificare che sia sicuro prima di usando il cmdlet Unblock-File. Il cmdlet Unblock-File 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:
Il Set-ExecutionPolicy usa il parametro ExecutionPolicy per specificare i criteri di RemoteSigned. I criteri vengono impostati per l'ambito predefinito, LocalMachine.
Il cmdlet Get-ExecutionPolicy mostra che RemoteSigned è il criterio di esecuzione effettivo per la sessione di PowerShell corrente.
Lo script Start-ActivityTracker.ps1 viene eseguito dalla directory corrente. Lo script viene bloccato da RemoteSigned perché lo script non è firmato digitalmente.
Per questo esempio, il codice dello script è stato esaminato e verificato come sicuro da eseguire. Il cmdlet Unblock-File usa il parametro Path per sbloccare lo script.
Per verificare che Unblock-File non abbia modificato i criteri di esecuzione, Get-ExecutionPolicy visualizza i criteri di esecuzione effettivi RemoteSigned.
Lo script Start-ActivityTracker.ps1 viene eseguito dalla directory corrente. Lo script inizia a essere eseguito perché è stato sbloccato dal cmdlet Unblock-File.
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.
Proprietà dei parametri
| Tipo: | SwitchParameter |
| Valore predefinito: | None |
| Supporta i caratteri jolly: | False |
| DontShow: | False |
Set di parametri
(All)
| Posizione: | Named |
| Obbligatorio: | False |
| Valore dalla pipeline: | False |
| Valore dalla pipeline in base al nome della proprietà: | False |
| Valore dagli argomenti rimanenti: | 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. Impostato da criteri di gruppo per tutti gli utenti del computer. -
UserPolicy. Configurato da un Group Policy 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.
Proprietà dei parametri
| Tipo: | ExecutionPolicyScope |
| Valore predefinito: | Effective execution policy |
| Valori accettati: | CurrentUser, LocalMachine, MachinePolicy, Process, UserPolicy |
| Supporta i caratteri jolly: | False |
| DontShow: | False |
Set di parametri
(All)
| Posizione: | 0 |
| Obbligatorio: | False |
| Valore dalla pipeline: | False |
| Valore dalla pipeline in base al nome della proprietà: | True |
| Valore dagli argomenti rimanenti: | False |
CommonParameters
Questo cmdlet supporta i parametri comuni: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction e -WarningVariable. Per altre informazioni, vedi about_CommonParameters.
Input
None
Gli oggetti non possono essere inviati tramite pipe a questo cmdlet.
Output
ExecutionPolicy
Il cmdlet restituisce sempre senza restrizioni 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.