在PowerShell中运行PowerShell代码可以正常工作,执行为.ps1不会';T

在PowerShell中运行PowerShell代码可以正常工作,执行为.ps1不会';T,powershell,powershell-4.0,Powershell,Powershell 4.0,我编写了一些代码,试图从一个RESTAPI获取一个值并将其发布到另一个RESTAPI。 我将代码保存在一个.ps1文件中。如果我编辑并运行它(或者只是将它复制并粘贴到一个空的PowerShell终端中),它会实现我的预期。然而,当我试图直接运行相同的.ps1文件时,我在第二个Invoke rest方法上得到了一个错误 不明白为什么我得到了不同的结果,错误消息没有给我很多线索 我做错了什么 我使用的代码是(使用修改的API密钥): 运行.ps1文件时收到的错误消息是: 调用RestMethod::

我编写了一些代码,试图从一个RESTAPI获取一个值并将其发布到另一个RESTAPI。 我将代码保存在一个.ps1文件中。如果我编辑并运行它(或者只是将它复制并粘贴到一个空的PowerShell终端中),它会实现我的预期。然而,当我试图直接运行相同的.ps1文件时,我在第二个Invoke rest方法上得到了一个错误

不明白为什么我得到了不同的结果,错误消息没有给我很多线索

我做错了什么

我使用的代码是(使用修改的API密钥):

运行.ps1文件时收到的错误消息是:

调用RestMethod::
在C:\numeriousBitcoineur.ps1:13字符:1
+调用RestMethod-Uri$baseuri-Body$data-Headers$Headers-methodpost
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+CategoryInfo:InvalidOperation:(System.Net.HttpWebRequest:HttpWebRequest)[调用RestMethod],WebException
+FullyQualifiedErrorId:WebCmdletWebResponseException,Microsoft.PowerShell.Commands.InvokeRestMethodCommand


我正在使用PowerShell 4.0,在使用后设置$APIkey,这肯定是错误的。它可能在控制台中工作,因为碰巧已经设置了
$APIkey

如果您愿意(我认为这是一个好主意),您可以将以下内容添加到脚本的顶部,以捕获像这样的错误

Set-StrictMode -Version Latest

$APIkey
在使用后被设置,这一定是错误的。它可能在控制台中工作,因为碰巧已经设置了
$APIkey

如果您愿意(我认为这是一个好主意),您可以将以下内容添加到脚本的顶部,以捕获像这样的错误

Set-StrictMode -Version Latest

$APIkey
在使用后被设置,这一定是错误的。它可能在控制台中工作,因为碰巧已经设置了
$APIkey

如果您愿意(我认为这是一个好主意),您可以将以下内容添加到脚本的顶部,以捕获像这样的错误

Set-StrictMode -Version Latest

$APIkey
在使用后被设置,这一定是错误的。它可能在控制台中工作,因为碰巧已经设置了
$APIkey

如果您愿意(我认为这是一个好主意),您可以将以下内容添加到脚本的顶部,以捕获像这样的错误

Set-StrictMode -Version Latest

在控制台粘贴或从ISE运行时,我会遇到与您相同的错误。因此,我不认为ps1文件与它有任何关系。我在控制台粘贴或从ISE运行时会遇到与您相同的错误。因此,我不认为ps1文件与它有任何关系。我在控制台粘贴或从ISE运行时会遇到与您相同的错误。因此,我不认为ps1文件与它有任何关系。我在控制台粘贴或从ISE运行时会遇到与您相同的错误。所以我不认为ps1文件和它有任何关系。非常感谢!您完全正确,这就是问题所在,它在控制台中工作,因为它确实已经设置好了。我尝试完全干净地重新启动控制台,但在手动运行时遇到了相同的问题。真不敢相信问题竟如此愚蠢!感谢您提供的“Set StrictMode-Version Latest”(设置严格模式-最新版本)提示,我不知道这一点,看起来非常有用。非常感谢!您完全正确,这就是问题所在,它在控制台中工作,因为它确实已经设置好了。我尝试完全干净地重新启动控制台,但在手动运行时遇到了相同的问题。真不敢相信问题竟如此愚蠢!感谢您提供的“Set StrictMode-Version Latest”(设置严格模式-最新版本)提示,我不知道这一点,看起来非常有用。非常感谢!您完全正确,这就是问题所在,它在控制台中工作,因为它确实已经设置好了。我尝试完全干净地重新启动控制台,但在手动运行时遇到了相同的问题。真不敢相信问题竟如此愚蠢!感谢您提供的“Set StrictMode-Version Latest”(设置严格模式-最新版本)提示,我不知道这一点,看起来非常有用。非常感谢!您完全正确,这就是问题所在,它在控制台中工作,因为它确实已经设置好了。我尝试完全干净地重新启动控制台,但在手动运行时遇到了相同的问题。真不敢相信问题竟如此愚蠢!感谢您提供的“Set StrictMode-Version Latest”提示,我不知道这一点,看起来非常有用。