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 看看是否有帮助。
我到处寻找这个问题的答案,但我想也许我的 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 看看是否有帮助。