Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/powershell/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Powershell 从Invoke WebRequest获取结果_Powershell - Fatal编程技术网

Powershell 从Invoke WebRequest获取结果

Powershell 从Invoke WebRequest获取结果,powershell,Powershell,嗯。我是新来powershell的,但这让我很难受。下面的代码从不返回状态代码或状态描述。我甚至试过了,试着抓住。我做错了什么 $url = "https://download.microsoft.com/download/3/d/c/3dcc9642-d3a0-459c-86fd- 128f5a0c3cc5/Windows10Upgrade9252.exe" $output = "c:\Temp\upgrade.exe"

嗯。我是新来powershell的,但这让我很难受。下面的代码从不返回状态代码或状态描述。我甚至试过了,试着抓住。我做错了什么

    $url = "https://download.microsoft.com/download/3/d/c/3dcc9642-d3a0-459c-86fd- 
    128f5a0c3cc5/Windows10Upgrade9252.exe"
    $output = "c:\Temp\upgrade.exe"
    $Result = Invoke-WebRequest -Uri $url -OutFile $output -ErrorAction Stop
    $StatusCode = $Result.StatusCode
    $StatusDescription = $Result.StatusDescription
    Write-Host "       Download Status Code: " $StatusCode
    Write-Host "Download Status Description: " $StatusDescription

Invoke WebRequest
默认情况下返回响应对象

如果使用
-OutFile
选项,响应将保存到给定文件,cmdlet不会返回任何内容。因此,
$Result
为空,您不会得到任何状态代码

如果要保存响应对象并将响应保存到文件中,则必须使用
-PassThru
开关。在这种情况下,
$Result
是类型为
WebResponseObject
的对象

对于
Invoke-WebRequest
cmdlet,
-PassThru
swicht仅在使用
-OutFile
选项时有效



注意:
-PassThru
开关是cmdlet的一种常见模式,通常有很好的文档记录

我已经回答了两次,但您随后删除了问题,甚至删除了发布相同问题的帐户。。这是怎么回事?我不想这么说,但是没有人回答。它被舞动着,躲闪着,摆动着,编织着,但从未回应过。就像这个。给出了替代方法,但问题没有回答。从未回答??关于
-PassThru
以及何时使用
-ErrorAction Stop
,恐怕您还有很多需要了解的内容。你有没有试过给定的代码?给定的代码?哪里?????如果你想向下滚动并查看下面的问题,你会发现代码。我很感谢你的反馈,但它并没有真正回答问题,是吗?我的意思是,我试图弄明白为什么上面的代码没有显示任何响应。代码错了吗?主持人错了吗?我确实回答了这个问题。你试过了吗?如果你不使用
-PassThru
你不会得到回复,因此你不会得到
StatusCode
总之,我已经改写了一点答案对不起,但是上面所做的只是告诉我放一个-PassThru选项。它没有解释如何得到结果。我一直在谷歌上搜索它,直到我的手指受伤,信息不在那里。再深入一点,展示如何捕获和显示结果如何?