Get-ExecutionPolicy
Obtém as políticas de execução para a sessão atual.
Syntax
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 pelas políticas de execução definidas pelas Set-ExecutionPolicy
configurações de Diretiva de Grupo e por elas.
Para obter mais informações, consulte about_Execution_Policies.
Exemplos
Exemplo 1: Obter todas as políticas de execução
Este 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 Get-ExecutionPolicy
cmdlet 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 diretiva 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 usa o parâmetro ExecutionPolicy para especificar a RemoteSigned
política. O parâmetro Scope especifica o valor de escopo padrão, LocalMachine
.
Para exibir as configurações de política de execução, use o Get-ExecutionPolicy
cmdlet com o parâmetro List .
Exemplo 3: Obter a política de execução eficaz
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 Get-ExecutionPolicy
cmdlet usa o parâmetro List para exibir a política de execução de cada escopo. O Get-ExecutionPolicy
cmdlet é executado sem um parâmetro para exibir a política de execução efetiva, AllSigned
.
Exemplo 4: Desbloqueie um script para executá-lo sem alterar a política de execução
Este exemplo mostra como a RemoteSigned
política de execução 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 usar 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
usa o parâmetro ExecutionPolicy para especificar a RemoteSigned
política. A política é definida para o escopo padrão, LocalMachine
.
O Get-ExecutionPolicy
cmdlet mostra que RemoteSigned
é a política de execução efetiva para a sessão atual do PowerShell.
O Start-ActivityTracker.ps1
script é executado a partir do diretório atual. O script é bloqueado porque não está assinado digitalmente RemoteSigned
.
Neste exemplo, o código do script foi revisado e verificado como seguro para execução. O Unblock-File
cmdlet 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 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 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.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | 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 forma:
MachinePolicy
. Definido por uma Diretiva de Grupo para todos os usuários do computador.UserPolicy
. Definido por uma Diretiva 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.
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
Não é possível canalizar objetos para este cmdlet.
Saídas
O cmdlet sempre retorna Unrestricted nas plataformas Linux e macOS. Em plataformas Windows, ele retorna a política de execução atual.
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 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.