태그 보관물: powershell

powershell

CurrentUser에 대해 Powershell ExecutionPolicy를 설정할 수 없습니다

다음은 내가 실행중인 명령 샘플입니다.

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

나는 설정하고자 CurrentUser하는 Unrestricted,하지만 난 그렇게 할 수없는 것. 이 MSDN 문서에 설명 된대로 그룹 정책이 있는지 확인 했지만 구성된 것을 찾지 못했습니다.

이것을 어떻게 설정할 수 있는지에 대한 단서가 있습니까?



답변

다른 모든 사람들이 말했듯이 이것은 Windows 10의 미리보기 빌드에서 버그로 보입니다. 간단히 -Force 매개 변수를 제공하면 작동합니다.

로컬 머신 설정 :

Set-ExecutionPolicy RemoteSigned-강제

현재 사용자를위한 설정 :

Set-ExecutionPolicy RemoteSigned -Scope CurrentUser -Force


답변

이것은 Windows 10의 버그 인 것 같습니다. 키를 만들고 해당 키 에서 데이터와 함께 HKEY_CURRENT_USER\SOFTWARE\Microsoft\PowerShell\1\ShellIds\Microsoft.PowerShell호출 된 문자열 값을 만들어야 작동합니다. 그럼에도 불구하고 레지스트리를 수정하지 않고는 변경할 수없는 것 같습니다.ExecutionPolicyUnrestricted


답변

OP보다 더 일반적인 powershell 정책 문제가 있었지만 여기와 다른 곳에서 찾은 답변 조합이 Win10 Anniversary Edition에서 정책을 올바르게 업데이트하는 데 필요했습니다.

1)이 레지스트리 항목이 존재하고 허용하려는 가장 낮은 보안 수준으로 설정되어 HKEY_CURRENT_USER\SOFTWARE\Microsoft\PowerShell\1\ShellIds\Microsoft.PowerShell
Name:ExecutionPolicy Type: REG_SZ Data:Unrestricted

있는지 확인하십시오 . 2)이 레지스트리 항목이 존재하고 허용하려는 가장 낮은 보안 수준으로 설정되어 있는지 확인하십시오. HKLM:\Software\Policies\Microsoft\Windows\PowerShell
Name:ExecutionPolicy Type: REG_SZ Data: Unrestricted
3) 다음으로 그룹 정책을 업데이트하십시오. 실행 gpedit.msc및 탐색 Computer Configuration > Administrative Templates > Windows Components > Windows PowerShell
을 선택 Turn on Script Execution후 편집을 policy setting함께 Enabled말한다 아래 상자에 Execution Policy,로 설정Allow All Scripts

이 모든 작업을 완료 한 후 원하는 것에 따라 정책을 강제 업데이트하여 ddcruver의 답변을 사용할 수 있습니다. 정책을 무제한으로 설정하면 악의적 인 Powershell 스크립트가 메모리 기반 Windows 맬웨어의 주요 원인 중 하나이므로 모든 설정을 Get-ExecutionPolicy -List보다 제한적인 것으로 설정하는 것이 RemoteSigned좋습니다.


답변

Windows 10 설치시 버그가 표시되지 않습니다. VMWare Workstation 11을 사용하여 설치를 진행하고 VM을 구축했습니다. 이전에 변경하지 않고 다음을 실행했습니다.

내가 가지고있는 Windows 10 버전을 알고 싶다면 : 10.0.10074


답변

변경 실행 정책을 시작하기 전에 상승 모드로 powershell을 실행해야합니다


답변

레지스트리 키가

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\PowerShell\1\ShellIds\Microsoft.PowerShell 

로 설정되었습니다 RemoteSigned. 값을 설정하면 Unrestricted효과가 있습니다.


답변