Get-ExecutionPolicy
Obtém as políticas de execução da sessão atual.
Sintaxe
All
Get-ExecutionPolicy
[[-Scope] <ExecutionPolicyScope>]
[-List]
[<CommonParameters>]
Description
Para exibir as políticas de execução para cada escopo na ordem de precedência, use Get-ExecutionPolicy -List. Para ver a política de execução efetiva para sua sessão do PowerShell, use Get-ExecutionPolicy sem parâmetros.
A política de execução efetiva é determinada por políticas de execução definidas por Set-ExecutionPolicy e configurações de Política de Grupo.
Para obter mais informações, consulte o item sobre Políticas de Execução.
Exemplos
Exemplo 1: Obter todas as políticas de execução
Esse comando exibe as políticas de execução para cada escopo na ordem de precedência.
Get-ExecutionPolicy -List
Scope ExecutionPolicy
----- ---------------
MachinePolicy Undefined
UserPolicy Undefined
Process Undefined
CurrentUser AllSigned
LocalMachine Undefined
O cmdlet Get-ExecutionPolicy usa o parâmetro List para exibir a política de execução de cada escopo.
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 cmdlet Set-ExecutionPolicy usa o parâmetro ExecutionPolicy para especificar a política de RemoteSigned. O parâmetro Scope especifica o valor de escopo padrão, LocalMachine.
Para exibir as configurações da política de execução, use o cmdlet Get-ExecutionPolicy com o parâmetro List.
Exemplo 3: Obter a política de execução efetiva
Este exemplo mostra como exibir 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 cmdlet Get-ExecutionPolicy usa o parâmetro List para exibir a política de execução de cada escopo. O cmdlet Get-ExecutionPolicy é executado sem um parâmetro para exibir 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 de scripts RemoteSigned impede que você execute scripts não assinados.
Uma prática recomendada é ler o código do script e verificar se ele é seguro antes de usando o cmdlet Unblock-File. O cmdlet Unblock-File desbloqueia scripts para que eles 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 usa o parâmetro ExecutionPolicy para especificar a política RemoteSigned. A política é definida para o escopo padrão, LocalMachine.
O cmdlet Get-ExecutionPolicy mostra que RemoteSigned é a política de execução efetiva para a sessão atual do PowerShell.
O script Start-ActivityTracker.ps1 é executado do diretório atual. O script é bloqueado por RemoteSigned porque o script não está assinado digitalmente.
Para este exemplo, o código do script foi revisado e verificado como seguro para ser executado. O cmdlet Unblock-File usa o parâmetro Path para desbloquear o script.
Para verificar se Unblock-File não alterou a política de execução, Get-ExecutionPolicy exibe a política de execução efetiva, RemoteSigned.
O script, Start-ActivityTracker.ps1 é executado do diretório atual. O script começa a ser executado porque foi desbloqueado pelo cmdlet Unblock-File.
Parâmetros
-List
Obtém todos os valores de política de execução para a sessão. Por padrão, Get-ExecutionPolicy obtém apenas a política de execução efetiva.
Propriedades do parâmetro
| Tipo: | SwitchParameter |
| Valor padrão: | None |
| Dá suporte a curingas: | False |
| DontShow: | False |
Conjuntos de parâmetros
(All)
| Cargo: | Named |
| Obrigatório: | False |
| Valor do pipeline: | False |
| Valor do pipeline pelo nome da propriedade: | False |
| Valor dos argumentos restantes: | False |
-Scope
Especifica o escopo afetado por uma política de execução.
A política de execução efetiva é determinada pela ordem de precedência da seguinte maneira:
-
MachinePolicy. Definido por uma Política de Grupo para todos os usuários do computador. -
UserPolicy. Definido por uma Política de Grupo para o usuário atual do computador. -
Process. Afeta apenas a sessão atual do PowerShell. -
LocalMachine. Escopo padrão que afeta todos os usuários do computador. -
CurrentUser. Afeta apenas o usuário atual.
Propriedades do parâmetro
| Tipo: | ExecutionPolicyScope |
| Valor padrão: | Effective execution policy |
| Valores aceitos: | CurrentUser, LocalMachine, MachinePolicy, Process, UserPolicy |
| Dá suporte a curingas: | False |
| DontShow: | False |
Conjuntos de parâmetros
(All)
| Cargo: | 0 |
| Obrigatório: | False |
| Valor do pipeline: | False |
| Valor do pipeline pelo nome da propriedade: | True |
| Valor dos argumentos restantes: | False |
CommonParameters
Este cmdlet suporta os parâmetros comuns: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction e -WarningVariable. Para obter mais informações, consulte about_CommonParameters.
Entradas
None
Não é possível transferir objetos para esse cmdlet.
Saídas
ExecutionPolicy
O cmdlet sempre retorna Unrestricted em plataformas Linux e macOS. Nas plataformas Windows, ele retorna a política de execução atual.
Observações
Uma política de execução faz parte da estratégia de segurança do PowerShell. As políticas de execução determinam se você pode carregar arquivos de configuração, como seu perfil do PowerShell, ou executar scripts. E se os scripts devem ser assinados digitalmente antes de serem executados.