Aqui está uma amostra dos comandos que estou executando:
PS C:\> Get-ExecutionPolicy -List
Scope ExecutionPolicy
----- ---------------
MachinePolicy Undefined
UserPolicy Undefined
Process Undefined
CurrentUser Undefined
LocalMachine Unrestricted
PS C:\> Set-ExecutionPolicy Unrestricted -Scope CurrentUser
PS C:\> Get-ExecutionPolicy -List
Scope ExecutionPolicy
----- ---------------
MachinePolicy Undefined
UserPolicy Undefined
Process Undefined
CurrentUser Undefined
LocalMachine Unrestricted
Quero definir o CurrentUser
como Unrestricted
, mas não consigo fazê-lo. Eu verifiquei as políticas de grupo em vigor, conforme descrito neste documento do MSDN , mas não encontrei nada que estivesse configurado.
Alguma pista de como eu posso definir isso?
powershell
windows-10
CamronBute
fonte
fonte
Respostas:
Como todos os outros disseram, isso parece ser um bug na versão prévia do Windows 10. Eu consegui que ele funcionasse simplesmente fornecendo o parâmetro -Force.
Configuração para a máquina local:
Set-ExecutionPolicy RemoteSigned -Force
Configuração para o usuário atual:
Set-ExecutionPolicy RemoteSigned -Scope CurrentUser -Force
fonte
Isso parece ser um bug no Windows 10. Eu tive que criar a chave
HKEY_CURRENT_USER\SOFTWARE\Microsoft\PowerShell\1\ShellIds\Microsoft.PowerShell
e criar um valor de cadeia nessa chave chamadaExecutionPolicy
com os dadosUnrestricted
antes que funcionasse. Mesmo assim, não consigo alterá-lo sem modificar o registro.fonte
Eu tinha um problema mais generalizado de política do powershell do que o OP, mas uma combinação de respostas encontradas aqui e em outros lugares acabou sendo necessária para que o meu Win10 Anniversary Edition atualizasse corretamente suas políticas:
1) Verifique se essa entrada do registro existe e está definida com o nível de segurança mais baixo que você deseja permitir:
HKEY_CURRENT_USER\SOFTWARE\Microsoft\PowerShell\1\ShellIds\Microsoft.PowerShell
Name:ExecutionPolicy
Type: REG_SZ
Data:Unrestricted
2) Verifique se essa entrada do registro existe e se está definida com o nível de segurança mais baixo que você deseja permitir:
HKLM:\Software\Policies\Microsoft\Windows\PowerShell
Name:ExecutionPolicy
Type: REG_SZ
Data: Unrestricted
3) Atualize sua Diretiva de Grupo executando
gpedit.msc
e navegue atéComputer Configuration > Administrative Templates > Windows Components > Windows PowerShell
Selecionar e
Turn on Script Execution
, em seguida, editepolicy setting
comEnabled
e na caixa abaixo deleExecution Policy
, defina-o comoAllow All Scripts
Depois de fazer tudo isso, você pode usar a resposta do ddcruver atualizando à força suas políticas, dependendo do que deseja. Se você definir suas políticas como Irrestrito, aconselho definir todas as configurações que são preenchidas
Get-ExecutionPolicy -List
para algo mais restritivo, comoRemoteSigned
os scripts maliciosos do PowerShell são uma das principais causas de malware do Windows baseado em memória.fonte
Não vejo o erro na minha instalação do Windows 10. Simplesmente passei pela instalação usando o VMWare Workstation 11 e construí uma VM. Executei o seguinte sem fazer alterações antes:
Caso você queira conhecer a versão do Windows 10, tenho:
10.0.10074
fonte
Você deve executar o PowerShell com modo elevado antes de alterar a política de execução
fonte
Eu descobri que a chave do registro localizada em
foi definido como
RemoteSigned
. Definir o valor paraUnrestricted
funcionou para mim.fonte