스택큐힙리스트
파워셸은 "이 시스템에서 스크립트 실행이 비활성화되어 있습니다."라고 말합니다. 본문
나는 cmd 파일을 실행하려고 하는데, 이 파일은 cmd.exe 에서 PowerShell 스크립트를 호출하고 있는데, 다음과 같은 오류가 발생하고 있다.
스크립트 실행이 비활성화되어 있기 때문에 Management_Install.ps1을(를) 로드할 수 없습니다.
나는 이 명령어를 실행했습니다:
Set-ExecutionPolicy -ExecutionPolicy Unrestricted
PowerShell에서 Get-ExecutionPolicy를 실행하면 Unrestricted가 반환됩니다.
Get-ExecutionPolicy
한국어로 번역합니다.
Unrestricted
cd C:\Projects\Microsoft.Practices.ESB\Source\Samples\Management Portal\Install\Scripts
파워쉘 .\Management_Install.ps1 1
경고: x86 PowerShell 실행 중...
스크립트 실행이 이 시스템에서 비활성화되어 있기 때문에 파일 C:\Projects\Microsoft.Practices.ESB\Source\Samples\Management Portal\Install\Scripts\Management_Install.ps1을(를) 로드할 수 없습니다. 자세한 내용은 get-help about_signing 을(를) 참조해주세요.
번역하기:
1 행 25번째 에서:
.\Management_Install.ps1 <<<< 1
CategoryInfo: 지정되지 않음: [], PSSecurityException
FullyQualifiedErrorId : RuntimeException
C : \Projects\Microsoft.Practices.ESB\Source\Samples\Management Portal\Install\Scripts> 일시 정지
계속하려면 아무 키나 누르세요.
시스템은 Windows Server 2008 R2입니다.
제가 무엇을 잘못하고 있는 건가요?
답변 1
당신이 Windows Server 2008 R2를 사용하고 있다면, PowerShell의 x64 및 x86 버전이 있으며 두 버전 모두 실행 권한 정책을 설정해야합니다. 두 호스트 모두에서 실행 권한 정책을 설정했습니까?
관리자로서 PowerShell 창에 다음을 입력하여 실행 정책을 설정할 수 있습니다.
Set-ExecutionPolicy RemoteSigned
더 자세한 정보는 Using the Set-ExecutionPolicy Cmdlet를 참조하세요.
끝나면 다음과 같이 정책을 기본값으로 다시 설정할 수 있습니다.
Set-ExecutionPolicy Restricted
오류가 발생할 수 있습니다.
Access to the registry key
'HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\PowerShell\1\ShellIds\Microsoft.PowerShell' is denied.
To change the execution policy for the default (LocalMachine) scope,
start Windows PowerShell with the Run as administrator option.
To change the execution policy for the current user,
run Set-ExecutionPolicy -Scope CurrentUser.
그래서 댓글에 나와있는 것과 같이 이렇게 명령어를 실행해야 할 수 있습니다.
Set-ExecutionPolicy RemoteSigned -Scope CurrentUser
답변 2
파워쉘은 스크립트 실행이 이 시스템에서 비활성화되어 있다며 경고를 보냅니다. 이 경고는 보안적인 이유로 파워쉘에서 스크립트를 실행하는 것이 보호될 필요성 때문입니다. 그러나, 스크립트가 제대로 실행되어야 하는 사용자들은 이것이 귀찮은 지경이 될 수도 있습니다.하지만, 이러한 보안 조치는 시스템의 안전성을 보장하고 악성 코드가 모호한 행동을 향상시키는 것을 방지하는 데 중요합니다. 따라서, 스크립트를 실행해야 하는 사용자들은 PowerShell에서 사용할 수 있는 스크립트 실행 정책을 변경하여 파워쉘에서 스크립트를 실행할 수 있습니다.