'Invoke-WebRequest' 용어가 cmdlet의 이름으로 인식되지 않습니다.
Invoke-WebRequest cmdlet을 실행하는 데 문제가 있습니다.그 시나리오의 ~100%가 3보다 낮은 PS 버전이라고 읽었지만, 제 경우는 아닙니다.
Name Value
---- -----
WSManStackVersion 3.0
PSRemotingProtocolVersion 2.3
CLRVersion 4.0.30319.34011
PSCompatibleVersions {1.0, 2.0, 3.0, 4.0...}
BuildVersion 10.0.10208.0
PSVersion 5.0.10208.0
SerializationVersion 1.1.0.1
저는 윈도우 10 IoT 코어 버전의 OS를 사용하고 있다고 덧붙일 수 있습니다.사실 제 주된 목적은 단순한 웹 요청을 실행하는 것이지만, 특히 더 많은 요청이 작동하지 않을 경우 이 cmdlet이 작동하지 않는 이유에 관심이 있습니다. / 스위치를 켜는 것과 같은 일부 창 기능일 수도 있지만, 제 추측일 뿐입니다.
갱신하다
특정 모듈에 사용할 수 있는 cmdlet과 사전 로드된 어셈블리를 일반 시스템과 IoT 버전 간에 비교한 결과, 후자 버전이 어떻게든 잘린 것처럼 보이지만, 여전히 문서를 보지 못했습니다.
윈도우즈 서버 2008 R2 서버에서 PowerShell v2를 실행하고 있었기 때문에 이 문제가 발생했습니다.v4로 업그레이드하면 문제가 해결되었습니다.
윈도우즈 Management Framework 4.0(PowerShell 4.0 포함)
v5 기준으로,Invoke-WebRequest
여전히 문서화되어 있습니다.
사용 중인 버전 확인:
$PSVersionTable.PSVersion
PS 버전 2(cmdlet 대신 .net 라이브러리 사용)와 같은 방식으로 요청을 생성하려고 해도 작동하지 않습니다.
$request = [System.Net.WebRequest]::Create("https://google.com")
$request.Method = "GET"
[System.Net.WebResponse]$response = $request.GetResponse()
PowerShell Core에서 제거된 것 같습니다.
Nano Server for Windows 2016에서 실행되는 Docker for Windows에서 이 문제가 해결되지 않는 이유를 찾고 있으며 귀하의 결과와 일치합니다.
PowerShell 버전과 다른 모든 것이 제 쪽에서는 괜찮았지만, 원하는 레포에서 코드를 다운로드할 수 없었습니다.그래서 TLS 버전을 만족시키기 위해 먼저 다음 명령을 실행한 다음, 원하는 명령을 실행하여 githubActions runner의 최신 버전을 다운로드했습니다.
[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12
Invoke-WebRequest -Uri
https://github.com/actions/runner/releases/download/v2.165.2/actions-runner
-win-x64-2.165.2.zip -OutFile actions-runner-win-x64-2.165.2.zip
Invoke-WebRequest가 PowerShell 5에서 제거되었습니다.
다음은 PowerShell 5의 이전 Invoke-WebRequest와 동일하게 작동하는 Invoke-FastWebRequest라는 기능의 구현입니다. https://github.com/cloudbase/unattended-setup-scripts/blob/master/FastWebRequest.psm1
명령에서 -UseBasicParsing 옵션을 사용하면 작동합니다.다음은 명령 설명서의 일부입니다.
-기본 구문 분석 사용
cmdlet이 DOM(문서 개체 모델) 구문 분석 없이 HTML 컨텐츠에 대해 응답 개체를 사용함을 나타냅니다.
윈도우즈 서버 운영 체제의 서버 Core 설치와 같이 Internet Explorer가 시스템에 설치되지 않은 경우 이 매개 변수가 필요합니다.
언급URL : https://stackoverflow.com/questions/32315616/the-term-invoke-webrequest-is-not-recognized-as-the-name-of-a-cmdlet
'programing' 카테고리의 다른 글
MySQL 결정론적 함수 결과 캐시를 지우는 방법은 무엇입니까? (0) | 2023.08.15 |
---|---|
요청 설정 방법.양식을 사용하지 않을 때 true로 인증됨인증.로그인 페이지에서 리디렉션하시겠습니까? (0) | 2023.08.15 |
압축 보관에서 폴더를 제외하려면 어떻게 합니까? (0) | 2023.08.15 |
"&(s->var)" vs "&s->var"에서처럼 구조체 포인터에서 구조체 멤버의 주소를 가져오려면 괄호가 필요합니까? (0) | 2023.08.15 |
f:ajax on 이벤트 함수에 추가 매개 변수 전달 (0) | 2023.08.15 |