2014-09-16 7 views

답변

2

우선, 그렇게해서는 안됩니다. 내 말은, 웹에서 임의의 코드를 다운로드하고 그것을 보지 않고 실행한다는 것입니까? Yikes!

예, 편리합니다.하지만 역시 curl | bash이거나 심지어 curl | sudo bash 인 끔찍한 바보 같은 아이디어입니다.

대부분의 경우 WebClient.DownloadString을 사용하고 Invoke-Expression : Invoke-Expression (New-Object Net.WebClient).DownloadString(«url»)으로 전달할 수 있습니다. 그 변수가 여전히 script: 범위를 열지는 모르겠지만 그 범위가 스크립트에서 사용된다면 작동하지 않을 수도 있습니다. 이 경우 파일로 다운로드하여 스크립트를 실행할 수 있습니다. 그래도 실행 정책을 관리해야합니다. "-"명령의 값이 있으면

+1

나를 다운로드하고 실행하는 임의의 스크립트를 생각 나게 해 주셔서 감사합니다 바보 같은 생각입니다. 내가 실제로하려고하는 것은 스크립트가 이미 검증 된 내부 중앙 저장소에서 스크립트를 다운로드하는 것입니다. 그리고 다음 명령을 성공적으로 실행했습니다 : 'Invoke-RestMethod -Uri https : //fake.url -Method Get | Invoke-Expression' – Zhenkai

+0

요즘에는 PowerShell 모듈을 설치하는 것이 일반적으로 보입니다. WMF5는 중앙 저장소 (PowerShell Gallery)에서 모듈을 다운로드 할 수있는 Install-Module을 제공합니다. 즉, 일단 PowerShell 5를 사용하면 (대부분 시간이 걸릴 수도 있음) 대부분의 경우 이러한 것들이 사라질 수 있습니다. – Joey

+0

대화 형으로 실행되지 않는 경우 오류 등이 있는지 확인하십시오. 스크립트 블록을 stdout으로 덤프하여 회선 문제를 해결하는 데 도움을줍니다. # murphyslaw –

1

curl --user user:pass https://fake.url | powershell -Command -

시도, 명령 텍스트는 표준 입력에서 읽습니다.

관련 문제