出于某种未知的原因,Invoke-WebRequest
即使它与curl的正确实现不兼容,开发人员也将“ curl”用作的别名,这意味着在尝试发出curl请求时,它会受到干扰。我可以使用删除别名Remove-Item alias:curl
,但是下次启动Powershell时,别名已经返回。有没有一种方法可以永久删除它,而不必每次启动时都运行脚本?
出于某种未知的原因,Invoke-WebRequest
即使它与curl的正确实现不兼容,开发人员也将“ curl”用作的别名,这意味着在尝试发出curl请求时,它会受到干扰。我可以使用删除别名Remove-Item alias:curl
,但是下次启动Powershell时,别名已经返回。有没有一种方法可以永久删除它,而不必每次启动时都运行脚本?
Answers:
如果您已经拥有Powershell配置文件,请跳过此步骤:
New-Item $profile -force -itemtype file
然后编辑您的个人资料:
notepad $profile
向其添加以下行:
remove-item alias:curl
保存,关闭记事本,然后使用以下命令重新加载配置文件,或者关闭并打开Powershell以应用配置文件:
. $profile
Invoke-WebRequest
语法...
我会坚持使用curl.exe
而不是curl
。这种方法不依赖于使用特定配置文件运行的PowerShell(而使用-NoProfile
switch 可以完全不使用配置文件运行PowerShell )。
添加Remove-Item alias:cur
到Powershell自动运行脚本
2003年XP以上版本:
%ALLUSERSPROFILE%\Documents\Msh\profile.msh
%ALLUSERSPROFILE%\Documents\Msh\Microsoft.Management.Automation.msh_profile.msh
XP,2003年:
%USERPROFILE%\My Documents\msh\profile.msh
%USERPROFILE%\My Documents\msh\Microsoft.Management.Automation.msh_profile.msh
Remove-Item alias:curl
在Windows Server 2019中发出了相同的命令,即使重新启动也不会再次出现