我目前在Web应用程序中使用azure命令行时遇到一些问题。 我收到以下错误:
[10/28/2015 20:22:33 > 37539e: ERR ] New-Item : The Win32 internal error "The handle is invalid" 0x6 occurred while
[10/28/2015 20:22:33 > 37539e: ERR ] getting the console mode. Contact Microsoft Customer Support Services.
这发生在New-Item和Remove-Item上。它发生在Kudo Powershell控制台中,并在WebJob中使用Powershell-Scripts。
而不是New-Item file
我已成功使用echo 3 >> file
。这没有问题。我发现唯一的问题是使用Invoke-WebRequst
时出现问题,并且使用
$ProgressPreference="SilentlyContinue"
不幸的是,这没有帮助。
有人经历过类似的事吗?
提前致谢。
答案 0 :(得分:1)
如果某些cmdlet连接到控制台,则可能会尝试读取标准输入或标准输出流的控制台模式。通过将它们显式设置为null可以避免这种情况。
# Prevent the progress meter from trying to access the console mode
$ProgressPreference = "SilentlyContinue"
# Set the input and output streams to $null
$null | Invoke-WebRequest -UseBasicParsing http://www.example.com/ > $null
答案 1 :(得分:0)
对我来说,设置$ProgressPreference="SilentlyContinue"
确实可以解决问题。
(使用Azure App Service的Kudu站点的PowerShell控制台。)
$null | (…) > $null
还可以防止错误,但是也可以抑制返回值,这是我不希望的。
背景:显然Invoke-WebRequest
试图显示进度条,而Kudu的PowerShell不支持该进度条。 (source)