Win32内部错误"句柄无效"获取控制台模式时发生0x6

时间:2015-10-28 20:41:54

标签: powershell azure

我目前在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"

不幸的是,这没有帮助。

有人经历过类似的事吗?

提前致谢。

2 个答案:

答案 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