이 질문은 질문 본문에 의해 반박되거나 실제 문제를 다루지 않는 응답을 계속 끌어 들이기 때문에 알아야 할 사항에 대한 간단한 요약 을 읽으십시오 .
- 입니다 하지 는 "왜 PowerShell을 내 기본 설치가 실행되지 않습니다 스크립트?" 질문.
- 입니다 하지 A가 "왜 PowerShell을 실행 스크립트 내 설치가 인터넷에서 다운로드하지?" 질문.
- 문제는
RemoteSigned
실행 정책이 스크립트 실행을 방해하지 않아야하는 이유입니다.RemoteSigned
는 IS 단지 내가 사용하고자하는 실행 정책. 덜 제한적인 다른 정책을 사용할 수 있다는 것을 알고 있습니다. 이러한 정책이 수용 가능한 대체물이라면 대신 사용했을 것이고이 질문은 존재하지 않을 것입니다.- 실행 정책이 이미로 설정되어
RemoteSigned
있습니다. 에서 변경RemoteSigned
하는 것은RemoteSigned
해결책이 아니다.- 스크립트 파일이 생성되고 로컬에 저장됩니다.
- 스크립트 파일은 차단되지 않습니다. 스크립트 파일이 차단되지 않았습니다 (이전 포인트 참조).
- 차단을 해제 할 항목이 없기 때문에 스크립트 파일을 차단 해제 할 수 없습니다 (이전 포인트 참조).
- 스크립트 파일은 관리자가 실행 (실행하려고 시도)합니다.
Windows PowerShell
관련된 유일한 응용 프로그램입니다. 되지Windows PowerShell ISE
도Command Prompt
않고 다른 도구 나 편집자는 관련입니다.- 문제의 원인이 이미 확인되었습니다 (승인 된 답변 참조). 거의 8 년이 지난 후, 적용 가능 여부에 관계없이 다른 모든 명백한 설명도 게시되었다고 생각합니다. 그렇지 않다고 생각 되면 질문과 기존 답변 전체 를 읽고 추가하십시오.
64 비트 Windows 7 Professional에서 Windows PowerShell 2.0을 사용하고 있습니다. Desktop
실행하려고 할 때 다음 오류를 일으키는 스크립트 가 있습니다.
File C:\Users\UserName\Desktop\Script.ps1 cannot be loaded. The file C:\Users\UserName\Desktop\Script.ps1 is not digitally signed. The script will not execute on the system. Please see "get-help about_signing" for more details..
At line:1 char:54
+ C:\Users\UserName\Desktop\TestGetWindowsUpdateLog.ps1 <<<<
+ CategoryInfo : NotSpecified: (:) [], PSSecurityException
+ FullyQualifiedErrorId : RuntimeException
나는 도메인 관리자 및 로컬 관리자 모두 오전, 내가 실행하는 경우 Get-ExecutionPolicy -List
, 나는 것을 볼 수 있습니다 Group Policy Object
구성 PowerShell을하기 위해 만들어 내가 올바르게 적용되는 RemoteSigned
시스템 수준에서 실행 정책을 :
Scope ExecutionPolicy
----- ---------------
MachinePolicy RemoteSigned
UserPolicy Undefined
Process Undefined
CurrentUser Undefined
LocalMachine Undefined
나는에 스크립트 나 자신을 생성 Notepad
하고, 사용 시스 인 터널 ' streams
유틸리티와 파일 Properties
스크립트가 인터넷에서 오는 것으로 처리하고 있지 않은지 확인하는 대화 상자를. 스크립트를 도메인 서버의 네트워크 공유에 복사하면 실행이 허용됩니다. 실행 Set-ExecutionPolicy -ExecutionPolicy Unrestricted -Scope LocalMachine
하면 로컬 스크립트는 여전히 실행이 허용되지 않습니다. 이는 MachinePolicy
범위 의 실행 정책 이 우선 하므로 의미 가 있습니다.
about_Execution_Policies
( current ; at time of question ) 에서 문서화 한대로 RemoteSigned
정책은 다음을 의미합니다.
스크립트를 실행할 수 있습니다.
인터넷에서 다운로드 한 스크립트 및 구성 파일 (전자 메일 및 인스턴트 메시징 프로그램 포함)에 대해 신뢰할 수있는 게시자의 디지털 서명이 필요합니다.
실행 한 스크립트와 로컬 컴퓨터 (인터넷에서 다운로드하지 않음)에서 작성한 스크립트에 디지털 서명이 필요하지 않습니다.
인터넷 이외의 소스에서 서명되지 않은 스크립트와 서명되었지만 악성 스크립트를 실행할 위험이 있습니다.
내 스크립트는 서명되지 않았지만 로컬에서 생성 및 실행되기 때문에 위의 세 번째 글 머리 기호를 충족해야합니다. 따라서...
- 내 스크립트가 실행되지 않는 이유는 무엇입니까?
- 해당 요구 사항이 인터넷의 파일에만 적용되어야하는데 PowerShell에서 내 스크립트가 "디지털 서명되지 않았습니다"라고 불평하는 이유는 무엇입니까?
- PowerShell이 네트워크 공유에서 실행될 때 더 이상 스크립트가 서명되지 않는 것에 대해 신경 쓰지 않는 이유는 무엇입니까?