Dav*_*žan 5 internet powershell proxy powershell-core
我有一台在企业环境中运行 Windows 的工作计算机,并带有用于 Internet 传出连接的身份验证代理服务器。我不知道它是如何配置的,但是很多工具无法连接,主要是像npm(Atom编辑器中的包),NuGet,PowerShellGet等类型。我什至必须配置我的浏览器(Vivaldi)才能使用直接连接,因为我无法登录某些网站,即使它在 MS Edge 中运行。
HTTP 错误通常是(407) Proxy Authentication Required
.
Windows 中的系统范围代理服务器正在由一些定期执行的脚本进行配置,我对此无能为力。
解决方案,或者更确切地说是一种解决方法,是单独配置所有有连接问题的应用程序以绕过代理(使用直接连接到互联网)。我已经设法做到了几乎所有我需要的东西,但到目前为止我在 Powershell Core 上还没有成功。
顺便说一句,我不确定该代理的意义是什么,当你可以简单地绕过它时,它只会使该计算机上的常规工作变得更加困难,并且浪费我的时间和公司的金钱。
到目前为止,我已经了解了以下内容。
PowerShellGetFind-Module
失败并出现以下错误:
无法解析包源“https://www.powershellgallery.com/api/v2”
一个简单的 Web 请求失败,并出现错误“缓存访问被拒绝”:
Invoke-WebRequest https://google.com
Run Code Online (Sandbox Code Playgroud)
但当它被迫绕过代理时会成功:
Invoke-WebRequest https://google.com -NoProxy
Run Code Online (Sandbox Code Playgroud)
netsh winhttp show proxy
说“直接访问(无代理服务器)。 ”,但以下命令返回实际代理:
([System.Net.WebRequest]::GetSystemWebproxy()).GetProxy("https://google.com")
Run Code Online (Sandbox Code Playgroud)
此外,以下命令返回false
:
([System.Net.WebRequest]::GetSystemWebproxy()).IsBypassed("https://google.com")
Run Code Online (Sandbox Code Playgroud)
我做了相当广泛的研究,发现应该可以WebRequest
通过将默认代理设置为 null 来配置使用直接连接,但这没有帮助:
[System.Net.WebRequest]::DefaultWebProxy = $null
Run Code Online (Sandbox Code Playgroud)
如果有人有任何其他想法,我将不胜感激。
我发现我实际上可以使用我的域帐户在代理服务器上进行身份验证:
Invoke-WebRequest https://google.com -ProxyUseDefaultCredentials -Proxy http://proxy
Run Code Online (Sandbox Code Playgroud)
因此,这将是代理旁路配置的替代方案。我只是不知道如何为 Powershell 发出的所有请求设置凭据。我不明白为什么 Windows 系统代理没有配置为使用我的帐户进行身份验证。
我尝试配置WebRequest::DefaultWebProxy
为使用代理服务器并使用我的域帐户凭据对其进行身份验证,但它不起作用:
Invoke-WebRequest https://google.com
Run Code Online (Sandbox Code Playgroud)
至于这个\xe2\x80\xa6\n it should be possible to configure WebRequest to use the direct connection by setting the default proxy to null
\n\xe2\x80\xa6,正如您所发现的,不在您的公司基础设施中。
您拥有的是一个 GPO,它被强制安装到您的工作站上,强制所有互联网出口网络流量通过过滤/代理网关。
\n有关详细信息,请参阅如何通过组策略强制代理设置 - TechNet 文章 - 美国(英语) - TechNet Wiki (microsoft.com)。\n https://social.technet.microsoft.com/wiki/contents/articles/ 5156.如何通过组策略强制代理设置.aspx
\n您的雇主正在控制和监视来自所有加入域的系统的所有入口/出口网络流量。
\n风险管理/安全策略将占主导地位。任何现代过滤网关都具有您的组织/企业出于其定义的风险控制原因而使用的特定控制措施。
\n因此,这不是 PowerShell 功能或代码问题;而是问题。它\xe2\x80\x99是网络限制。所以,没有办法绕过它。无论您使用什么工具。您必须提供身份/凭证才能允许出境。
\n您可以查看浏览器设置来查看代理线人,或者他们也可能正在使用 PAC 文件。
\n请参阅:什么是 PAC 文件?(websense.com) 了解详细信息。\n https://www.websense.com/content/support/library/web/v76/pac_file_best_practices/PAC_explained.aspx
\n您在正常浏览时没有收到此提示的原因是您使用了您的凭据/网络令牌。如果您尝试解决这个问题,则会根据公司政策收到提示。
\n试图规避雇主的风险管理/安全政策将为您带来 RPE/CLM(恢复产生事件/职业限制变动),并可能导致法律诉讼,具体取决于您所做的事情。
\n 归档时间: |
|
查看次数: |
27538 次 |
最近记录: |