web-dev-qa-db-ja.com

無効にするIE 9アドオンIE起動、Powershellを使用してから、有効にするIE exit

「-extoff」スイッチを使用してIEを開始すると、すべてのアドオン/拡張機能を無効にできることを知っています。しかし、ショートカットの開始から、またはスクリプトを介して、単一のIEアドオンを無効にすることは可能ですか?そして、アドオン/拡張機能を再度有効にしますか?私が抱えている問題は、Webアプリケーションを使用していて、アドオンを使用していることです。ただし、有効にしておきたい別のアドオン/拡張機能を備えたコンピューターがいくつかありますが、両方が干渉することがあります。それらは同時に使用されません。

基本的に、

  • IEで特定のアドオンを1つ無効にするスクリプト。

    ...実行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の起動時にSLEEPを試しました。 regアイテムを間違った場所に設定していますか? IEがレジストリの変更を認識しないのはなぜですか?レジストリ項目を手動で変更すると、IEに変更が表示されますが、PowerShellを使用すると表示されません。 IEを起動する前にレジストリを更新する必要がありますか?セーブ?

2
Logman

私は自分の質問に答えました。

  1. この例のPowershellスクリプトは、PDF v9の「Adobe IE LinkHelper」拡張機能を無効にします。
  2. IEを起動し、閉じるまで待ちます。
  3. 次に、同じ拡張機能を再度有効にします。

PowershellスクリプトなしでIEを開始すると、拡張機能がオンになります。スクリプトを使用して特定の拡張機能を無効にし、IEを実行します。

拡張機能の「クラスID」が必要であり、レジストリをその特定の拡張機能に変更します。

  • 名前:Adobe PDFリンクヘルパー
  • 出版社:Adobe Systems、Incorporated
  • タイプ:ブラウザヘルパーオブジェクト
  • アーキテクチャ:32ビット
  • バージョン:9.5.5.316
  • ファイルの日付:水曜日、5月8日、2013年、5:58 AM
  • 最終アクセス日:今日、3月15日、2014年、午後5時34分
  • クラスID:{18DF081C-E8AD-4283-A596-FA578C2EBDC3}
  • 使用回数:252
  • ブロック数:104
  • ファイル:AcroIEHelperShim.dll
  • フォルダ:C:\ Program Files(x86)\ Common Files\Adob​​e\Acrobat\ActiveX

enter image description here

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に設定すると、拡張子は「enable」になりますが、値を1に設定すると奇妙な結果になりました。

Set-Itemproperty . Flags -Value 0

「値」を400に設定すると、この拡張機能は「enable」になりますが、これはAdobe拡張機能が使用する値であり、別の拡張機能では異なる場合があります。 「フラグ」DWORDの値として40、580を見てきました。

Set-Itemproperty . Flags -Value 400
1
Logman