2

Я знаю, что мы можем отключить все дополнения /exts, когда мы запускаем IE, используя ключ "-extoff". Но возможно ли отключить один аддон IE из ярлыка запуска или через скрипт? А потом снова включить аддон /ext? У меня проблема в том, что мы используем веб-приложение, и оно использует аддон, но у нас есть несколько компьютеров, у которых есть еще один аддон /ext, который они хотят оставить включенным, но оба они время от времени мешают друг другу. Они не используются одновременно.

В принципе,

  • Скрипт, который будет отключать один конкретный аддон в IE.

    ... запустить IE ... выйти из IE ...

  • Скрипт, который включит этот отдельный аддон в IE.

EDIT1:

Я создал скрипт PowerShell:

$regpath = "HKCU:\Software\Microsoft\Windows\CurrentVersion\Ext\Settings\{D27CDB6E-AE6D-11CF-96B8-444553540000}"
if(!(Test-Path -LiteralPath $regpath))
  {
   echo "NOPE. RegPath is not there!"
  }
else
  {
   echo "RegPath is there! Lets change it..."
   Set-ItemProperty -Path $regpath -Name Flags -Value 0
   # Note: 0 is for enable and 1 is for disable.

   #start IE and then wait until its finished and then set addon back on
   echo "Starting IE..."
   C:\Progra~1\Intern~1\iexplore.exe | out-null
   echo "IE Exited. "
   Set-ItemProperty -Path $regpath -Name Flags -Value 1
  }

Этот скрипт отлично работал на моей рабочей станции, элемент реестра был изменен ... но в IE все еще работало дополнение, когда оно запускалось. Так чего мне не хватает? Я попытался заснуть при запуске IE, нет. Я устанавливаю пункт reg в неправильном месте? Почему IE не видит изменения реестра? Если я вручную изменю элемент реестра, IE увидит это изменение, но не при использовании powershell. Нужно ли обновлять реестр перед запуском IE? Сохранить?

1 ответ1

1

Я ответил на свой вопрос.

  1. В этом примере Powershell Script отключает расширение "Adobe PDF Link Helper" в IE v9.
  2. Запускает IE, а затем ждет, пока он не закроется ....
  3. Затем повторно включает то же расширение.

Вы можете запустить IE без скрипта Powershell, расширение будет включено. Используйте скрипт, чтобы отключить определенное расширение и запустить IE.

Вам нужен "ID класса" расширения и измените реестр на это конкретное расширение.

  • Название: Adobe PDF Link Helper
  • Издатель: Adobe Systems, Incorporated
  • Тип: Browser Helper Object
  • Архитектура: 32-битная
  • Версия: 9.5.5.316
  • Дата файла: среда, 8 мая 2013 г., 5:58
  • Дата последнего доступа: сегодня, 15 марта 2014 г., 17:34
  • Идентификатор класса: {18DF081C-E8AD-4283-A596-FA578C2EBDC3}
  • Используйте счет: 252
  • Количество блоков: 104
  • Файл: AcroIEHelperShim.dll
  • Папка: C:\Program Files (x86)\ Общие файлы \ Adobe \ Acrobat \ ActiveX

Код Powershell:

# Adobe PDF Link Helper Registry Path (with CLASS ID)
$RegPath = "HKCU:\Software\Microsoft\Windows\CurrentVersion\Ext\Settings\{18DF081C-E8AD-4283-A596-FA578C2EBDC3}"
if(test-path $RegPAth)
{
    #CD $RegPath
    Set-Location $regpath
    echo "Disabling IE Ext... and Starting IE...will wait."
    Set-Itemproperty . Flags -Value 1

    Start-Process "$env:ProgramFiles\Internet Explorer\iexplore.exe" -wait # -ArgumentList -extoff

    echo "IE Done... will Enable Ext now..."

    Set-Itemproperty . Flags -Value 400
    echo "Enabled IE Ext."
}

ПРИМЕЧАНИЕ. Установка значения "Значение" на 1 отключит расширение:

Set-Itemproperty . Flags -Value 1

Установка "Значение" в 0 должна « включить » расширение, но у меня были странные результаты при установке значения в 1:

Set-Itemproperty . Flags -Value 0

Установка значения "Значение" на 400 « включит » это расширение, но это может быть значение, которое использует расширение Adobe, и может отличаться для другого расширения. Я видел 40, 580 как значения для "Флаги" DWORD.

Set-Itemproperty . Flags -Value 400

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .