Get-ExecutionPolicy
Obtém as políticas de execução da sessão atual.
Syntax
Get-ExecutionPolicy
[[-Scope] <ExecutionPolicyScope>]
[-List]
[<CommonParameters>]
Description
Para apresentar as políticas de execução de cada âmbito pela ordem de precedência, utilize Get-ExecutionPolicy -List
. Para ver a política de execução efetiva da sua sessão do PowerShell, utilize Get-ExecutionPolicy
sem parâmetros.
A política de execução efetiva é determinada pelas políticas de execução definidas por Set-ExecutionPolicy
e Política de Grupo definições.
Para obter mais informações, veja about_Execution_Policies.
Exemplos
Exemplo 1: Obter todas as políticas de execução
Este comando apresenta as políticas de execução de cada âmbito pela ordem de precedência.
Get-ExecutionPolicy -List
Scope ExecutionPolicy
----- ---------------
MachinePolicy Undefined
UserPolicy Undefined
Process Undefined
CurrentUser AllSigned
LocalMachine Undefined
O Get-ExecutionPolicy
cmdlet utiliza o parâmetro Lista para apresentar a política de execução de cada âmbito.
Exemplo 2: Definir uma política de execução
Este exemplo mostra como definir uma política de execução para o computador local.
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope LocalMachine
Get-ExecutionPolicy -List
Scope ExecutionPolicy
----- ---------------
MachinePolicy Undefined
UserPolicy Undefined
Process Undefined
CurrentUser AllSigned
LocalMachine RemoteSigned
O Set-ExecutionPolicy
cmdlet utiliza o parâmetro ExecutionPolicy para especificar a política RemoteSigned . O parâmetro Âmbito especifica o valor de âmbito predefinido , LocalMachine. Para ver as definições da política de execução, utilize o Get-ExecutionPolicy
cmdlet com o parâmetro Lista .
Exemplo 3: obter a política de execução efetiva
Este exemplo mostra como apresentar a política de execução efetiva para uma sessão do PowerShell.
PS> Get-ExecutionPolicy -List
Scope ExecutionPolicy
----- ---------------
MachinePolicy Undefined
UserPolicy Undefined
Process Undefined
CurrentUser AllSigned
LocalMachine RemoteSigned
PS> Get-ExecutionPolicy
AllSigned
O Get-ExecutionPolicy
cmdlet utiliza o parâmetro Lista para apresentar a política de execução de cada âmbito. O Get-ExecutionPolicy
cmdlet é executado sem um parâmetro para apresentar a política de execução efetiva AllSigned.
Exemplo 4: Desbloquear um script para executá-lo sem alterar a política de execução
Este exemplo mostra como a política de execução RemoteSigned impede a execução de scripts não assinados.
Uma melhor prática é ler o código do script e verificar se é seguro antes de utilizar o Unblock-File
cmdlet. O Unblock-File
cmdlet desbloqueia scripts para que possam ser executados, mas não altera a política de execução.
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:
O Set-ExecutionPolicy
utiliza o parâmetro ExecutionPolicy para especificar a política RemoteSigned . A política está definida para o âmbito predefinido LocalMachine.
O Get-ExecutionPolicy
cmdlet mostra que RemoteSigned é a política de execução efetiva para a sessão atual do PowerShell.
O scriptStart-ActivityTracker.ps1 é executado a partir do diretório atual. O script é bloqueado por RemoteSigned porque o script não está assinado digitalmente.
Neste exemplo, o código do script foi revisto e verificado como seguro para ser executado. O Unblock-File
cmdlet utiliza o parâmetro Caminho para desbloquear o script.
Para verificar se Unblock-File
não alterou a política de execução, Get-ExecutionPolicy
apresenta a política de execução efetiva RemoteSigned.
O script ,Start-ActivityTracker.ps1 é executado a partir do diretório atual. O script começa a ser executado porque foi desbloqueado pelo Unblock-File
cmdlet.
Parâmetros
-List
Obtém todos os valores da política de execução da sessão listados por ordem de precedência. Por predefinição, Get-ExecutionPolicy
obtém apenas a política de execução efetiva.
Type: | SwitchParameter |
Position: | Named |
Default value: | False |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Scope
Especifica o âmbito afetado por uma política de execução.
A política de execução efetiva é determinada pela ordem de precedência da seguinte forma:
- MachinePolicy. Definido por um Política de Grupo para todos os utilizadores do computador.
- UserPolicy. Definido por um Política de Grupo para o utilizador atual do computador.
- Processo. Afeta apenas a sessão atual do PowerShell.
- CurrentUser. Afeta apenas o utilizador atual.
- LocalMachine. Âmbito predefinido que afeta todos os utilizadores do computador.
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 |
Entradas
None
Get-ExecutionPolicy
não aceita a entrada do pipeline.
Saídas
Notas
Uma política de execução faz parte da estratégia de segurança do PowerShell. As políticas de execução determinam se pode carregar ficheiros de configuração, como o perfil do PowerShell ou executar scripts. Além disso, se os scripts têm de ser assinados digitalmente antes de serem executados.