如何解决此“您的系统管理员已配置Chrome以打开备用浏览器进行访问”

时间:2019-02-18 02:42:45

标签: google-chrome

我正在尝试在Google chrome中打开一个应用程序,当我启动网站chrome时,它将重定向到IE,并在chrome中显示消息“您的系统管理员已配置chrome打开另一个浏览器进行访问”。如何克服这个问题

2 个答案:

答案 0 :(得分:0)

行为

  • 您打开公司网站。例如, http://legacy_SharePoint_2010.com
  • 您将看到一条消息:“您的 系统管理员已将Chrome配置为打开备用 浏览器访问”
  • 您的IE 11将被打开,您的镶边选项卡将被关闭:

enter image description here

为什么会这样

  • 该行为由Chrome政策(chrome:// policy /)
  • 控制

enter image description here

  • 设置“策略”时,使用chrome:// browser-switch协议重定向到IE
  • 将在注册表中的Computer \ HKEY_LOCAL_MACHINE \ SOFTWARE \ Policies \ Google \ Chrome \ BrowserSwitcherUrlList
  • 下列出将被强制使用IE 11的站点列表。

enter image description here

  • 您可能需要本地管理员权限才能修改或删除这些注册表项 :

答案 1 :(得分:0)

当您的公司默认强制执行此类政策时,您迟早必须再次更新 regedit 中的政策。相当优雅的解决方案可能是在需要时关闭/打开策略。我使用 Python 和 winreg 模块(但在其他语言中可能类似):

import winreg
from itertools import count

def switch_reg_browser_switcher():
    reg_handler = winreg.ConnectRegistry(None, winreg.HKEY_LOCAL_MACHINE)
    with winreg.OpenKey(reg_handler, r"SOFTWARE\Policies\Google\Chrome", 0, winreg.KEY_ALL_ACCESS) as regkey:
        for i in count():
            try:
                val_name, curr_value, _ = winreg.EnumValue(regkey,i)
                if val_name == 'BrowserSwitcherEnabled':     
                    print(val_name, curr_value)
                    winreg.SetValueEx(regkey, val_name, 0, winreg.REG_DWORD, curr_value^1)
                    break
            except OSError:
                print('All keys iterated but "BrowserSwitcherEnabled" not found')
                break

print('Updating Windows registry to reset company policy...')
switch_reg_browser_switcher()

或批处理文件中的简单解决方案:

@echo off
set regkey="HKLM\SOFTWARE\Policies\Google\Chrome" 
REG QUERY %regkey% /v BrowserSwitcherEnabled
if %errorlevel% equ 0 ( REG ADD %regkey% /v BrowserSwitcherEnabled /t REG_DWORD /d 0 /f
) else (echo no such value)

我这样做的动机是使用 Selenium 进行网页抓取(Chrome 驱动程序比 IE 快得多)并且没有权力强迫我的公司更改政策。