명령 줄에서 스크립트를 실행하는 '보안 경고'무시
내가 신뢰하는 공유 폴더에서 스크립트를 실행하려고합니다.
PowerShell -file "\\server\scripts\my.ps1"
하지만 보안 경고를 받고 계속하려면 'R'을 눌러야합니다.
보안 경고 신뢰할 수있는 스크립트 만 실행하십시오. 인터넷의 스크립트가 유용 할 수 있지만이 스크립트는 잠재적으로 컴퓨터에 해를 끼칠 수 있습니다. \ server \ scripts \ my.ps1을 실행 하시겠습니까? [D] 실행 안 함 [R] 한 번 실행 [S] 일시 중지 [?] 도움말 (기본값은 "D") : d
이 경고를 무시할 수 있습니까? 원하는 의사 코드는 다음과 같습니다.
PowerShell -IGNORE_SECURITY_WARNING -file "\\server\scripts\my.ps1"
이에 대해서는 Lee Holmes 블로그의 "표준 이미지의 PowerShell 실행 정책" 과 Windows Power Shell 블로그 의 "PowerShell의 보안 지침 원칙"에서 다룹니다 .
요약 일부 컴퓨터는 UNC 경로를 불량 인터넷으로 취급하므로 PowerShell은이를 원격 파일로 취급합니다. 해당 서버 ( UncAsIntranet = 0,
) 에서이 기능을 비활성화 하거나 원격 시스템을 신뢰할 수있는 호스트에 추가 할 수 있습니다.
둘 다 수행하지 않으려는 경우 PowerShell v2는 -ExecutionPolicy
의사 코드가 원하는 것을 정확히 수행 하는 매개 변수를 지원합니다 . PowerShell -ExecutionPolicy Bypass -File (...)
.
경고를 피하기 위해 다음을 수행 할 수 있습니다.
Set-ExecutionPolicy bypass
다운로드 한 powershell 스크립트에서이 오류가 발생하는 경우 다음과 같이 스크립트를 차단 해제 할 수 있습니다.
해당
.ps1
파일을 마우스 오른쪽 버튼으로 클릭 하고 속성을 선택합니다.파일 속성에서 차단 해제 를 클릭 합니다.
클릭 OK
SEE_MASK_NOZONECHECKS 환경 변수에 1을 할당하십시오.
$env:SEE_MASK_NOZONECHECKS = 1
Start-Process $msi_file_path /qn -Wait | out-null
이것을 시도하고 다음을 사용하여 파일을 편집하십시오.
notepad foo.ps1:Zone.Identifier
그리고 'ZoneId = 0'설정
Set-ExecutionPolicy를 사용하여 컴퓨터에서 실행 정책을 설정하려고합니다.
Set-ExecutionPolicy Unrestricted
다양한 실행 정책을 조사하여 어떤 것이 적합한 지 확인할 수 있습니다. help about_signing
자세한 내용 은 " "를 참조하십시오.
이 중 어느 것도 내 특정 인스턴스에서 작동하지 않았습니다. FQDN에서 NetBIOS 이름으로 변경 한 것은 무엇입니까?
대신 :
\\server.domain.net\file.ps1
사용 :
\\server\file.ps1
이름을 사용하면 IE의 "인트라넷 네트워크 자동 감지"구성을 우회합니다.
여기 블로그의 옵션 1을 참조하십시오. http://setspn.blogspot.com/2011/05/running-powershell-scripts-from-unc.html
이 powershell 스크립트를 만들어 내 서버의 공유에있는 모든 파일을 차단 해제했습니다.
Get-ChildItem "\\ServerName\e$\MyDirectory\" -Recurse -File | % {
Unblock-File -Path $_.FullName
}
인터넷에서 스크립트를 다운로드 했습니까?
그런 다음 명령 줄에서 sysinternal의 streams.exe 를 사용하여 파일에서 NTFS 스트림을 제거 합니다.
cmd> streams.exe .\my.ps1
이제 스크립트를 다시 실행 해보십시오.
공유 폴더에서 ps 스크립트를 시작해야한다고 가정합니다.
copy \\\server\script.ps1 c:\tmp.ps1 /y && PowerShell.exe -ExecutionPolicy Bypass -File c:\tmp.ps1 && del /f c:\tmp.ps1
PS 검색 검색 감소)
ps1 파일이 여러 개인 경우 PowerShell을 열고 다음 명령을 작성하는 것은 매우 간단합니다. 여기에서 경로로 경로를 변경해야합니다.
PS C:\Users> Get-ChildItem -Path "D:\downlod" -Recurse | Unblock-File
set-executionpolicy "Policyname"-force 스위치를 사용하면 경고 팝업이 표시되지 않습니다.
참고 URL : https://stackoverflow.com/questions/728143/ignore-security-warning-running-script-from-command-line
'development' 카테고리의 다른 글
DrawerLayout에서 제스처 리스너 비활성화 (0) | 2020.11.29 |
---|---|
별도의 파일에있는 C # 클래스? (0) | 2020.11.29 |
CSS를 사용하여 2 열 텍스트 자동 흐름 (0) | 2020.11.29 |
Bower에서 로컬 git 패키지를 등록하는 방법은 무엇입니까? (0) | 2020.11.29 |
iOS에서 Core Location과 Core Motion 프레임 워크의 자기장 값의 차이점은 무엇입니까? (0) | 2020.11.29 |