Powershell 根本无法连接到互联网

Powershell unable to connect to internet at all

我到处寻找这个问题的答案,但我想也许我的 Google 忍者技能不足。

我正在尝试 运行 Powershell 中的一个简单命令来下载一个字符串(实际上,我想下载一个 msi 并 运行 它 - 但我已经将问题缩小到一个简单的例子)。我运行ning的脚本是:

$client = New-Object System.Net.WebClient
$client.DownloadString("http://google.com") | Out-File google.html

我得到的错误是:

Exception calling "DownloadString" with "1" argument(s): "Unable to connect to the remote server"
At line:1 char:1
+ $client.DownloadString("http://google.com") | Out-File google.html
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : NotSpecified: (:) [], MethodInvocationException
    + FullyQualifiedErrorId : WebException

PS版本=4.0

我在同事的 PC 上有 运行 这个脚本(PSVersion = 3.0)并且它运行良好。所以我知道代码有效。我还在 C# 控制台应用程序中重新创建了这段代码,它看起来像:

static void Main(string[] args)
{
    using(var client = new System.Net.WebClient())
    {
        var content = client.DownloadString("http://google.com");
        File.WriteAllText("D:\google.html", content);
    }
}

这在我的机器上运行 - 所以我知道问题不是 .NET Framework。奇怪的是,我可以从 Powershell 调用 exe 并且它有效。

我已将其缩小为 Powershell 的问题,但我终究无法解决问题。为了断开 Powershell 与互联网的连接,我显然对我的机器做了一些事情,但可以与比我更了解幕后发生的事情的人一起做。

请注意 这与 PS 远程处理无关。我不认为,但我不想使用 PS 远程处理。我不认为...

您 运行 PowerShell 是另一个帐户(例如管理员)吗?也许该帐户的代理设置与您的普通帐户不同?也许尝试在下载前设置 $client.Proxy = $null 看看是否有帮助。