无法在命令行/ powershell windows 7中ping任何站点

时间:2016-06-06 09:58:37

标签: windows powershell command-line proxy chef

Windows命令行是否需要任何代理设置来ping网站?

我可以访问浏览器中的所有网站,但是当我尝试从命令行或PowerShell ping同一网站时,我会得到"请求超时"错误。如何解决此错误?

在IE浏览器中,我设置了自动代理检测脚本,因为网络是公司LAN。尝试在网上提供的大多数解决方案没有任何运气。

由于这个原因,我无法运行chef命令来安装gem并收到错误Unable to download data from https://rubygems.org/ - Errno::ETIMEDOUT: A connection attempt failed because the connected party did not properly respon d after a period of time, or established connection failed because connected hos t has failed to respond. - connect(2) for "api.rubygems.org" port 443 (https://a pi.rubygems.org/specs.4.8.gz)

1 个答案:

答案 0 :(得分:2)

获取ping回复或HTTP响应是两回事。也就是说,任何服务器都可以尊重其中任何一个。此外,路由上可能存在更改结果的代理和防火墙。即使服务器愿意回复ping,企业防火墙也可能阻止它。

通过环境变量as per documentation设置Chef的代理设置可能会取得一些成功。如何查找代理设置,请咨询您的网络管理员。如果这不起作用,请检索代理设置from IE's registry key。在链接腐烂的情况下,这里的功能是:

function Get-InternetProxy { 
    <# 
            .SYNOPSIS 
                Determine the internet proxy address
            .DESCRIPTION
                This function allows you to determine the the internet proxy address used by your computer
            .EXAMPLE 
                Get-InternetProxy
            .Notes 
                Author : Antoine DELRUE 
                WebSite: http://obilan.be 
    #> 

    $proxies = (Get-ItemProperty -Path 'HKCU:\Software\Microsoft\Windows\CurrentVersion\Internet Settings').proxyServer

    if ($proxies) {
        if ($proxies -ilike "*=*") {
            $proxies -replace "=","://" -split(';') | Select-Object -First 1
        } else {
            "http://" + $proxies
        }
    }    
}