Как добавить URL в доверенную зону в Internet Explorer? - PullRequest
7 голосов
/ 18 марта 2010

Как я могу добавить URL на доверенный сайт? Вроде там хранятся в реестре, но где именно?
Намеки, которые я до сих пор гуглил, не помогли.

Программа .net будет запускаться локально на каждом клиенте.

Редактировать пояснение : Я хочу сделать это программно работающим на C #.

Ответы [ 7 ]

4 голосов
/ 18 марта 2010
3 голосов
/ 18 марта 2010

Следующее должно дать вам способ сделать это в коде ...

http://blogs.msdn.com/ie/archive/2005/01/26/361228.aspx

1 голос
/ 09 декабря 2014

Powershell

#Setting IExplorer settings
Write-Verbose "Now configuring IE"
#Add http://website.com as a trusted Site/Domain
#Navigate to the domains folder in the registry
set-location "HKCU:\Software\Microsoft\Windows\CurrentVersion\Internet Settings"
set-location ZoneMap\Domains

#Create a new folder with the website name
new-item website/ -Force
set-location website/
new-itemproperty . -Name * -Value 2 -Type DWORD -Force
new-itemproperty . -Name http -Value 2 -Type DWORD -Force
new-itemproperty . -Name https -Value 2 -Type DWORD -Force
1 голос
/ 18 марта 2010

Он действительно лежит в реестре и тут же описан:

http://msdn.microsoft.com/en-us/library/ms537181%28VS.85%29.aspx

Остерегайтесь UAC в Vista, хотя. Это настоящая боль, с которой приходится иметь дело.

1 голос
/ 18 марта 2010

Проверьте это решение на форумах CodeGuru.

Таким образом, в этом коде используется библиотека COM, библиотека, которую, как вы сказали, вы хотели избежать. Тем не менее, нет обходного пути в этой ситуации. Еще одна вещь, которую стоит упомянуть, это то, что этот код написан на C ++, так как тот, кто его написал, CorithMartin , перенес его из C #.

#include "windows.h"
#include "stdafx.h"
#include "urlmon.h"
#using <mscorlib.dll>
#include <atldef.h>
#include <atlconv.h>
using namespace System;
using namespace System::Runtime::InteropServices;
#define MAX_LOADSTRING 100

int _tmain(int argc, _TCHAR* argv[])
{
    // constants from urlmon.h
    const int URLZONE_LOCAL_MACHINE = 0;
    const int URLZONE_INTRANET = URLZONE_LOCAL_MACHINE + 1;
    const int URLZONE_TRUSTED = URLZONE_INTRANET + 1;
    const int URLZONE_INTERNET = URLZONE_TRUSTED + 1;
    const int URLZONE_UNTRUSTED = URLZONE_INTERNET + 1;
    const int URLZONE_ESC_FLAG = 0x100;
    const int SZM_CREATE  = 0;
    const int SZM_DELETE  = 0x1;

    HRESULT hr;
    IInternetSecurityManager *pSecurityMgr;
    LPCWSTR sites = SysAllocString(L"http://*.mydomain.com");

    CoInitialize(NULL);

    hr = CoCreateInstance(CLSID_InternetSecurityManager, NULL, CLSCTX_INPROC_SERVER, IID_IInternetSecurityManager, (void**)&pSecurityMgr);

    pSecurityMgr->SetZoneMapping(URLZONE_TRUSTED, sites, SZM_CREATE);

    pSecurityMgr->Release();

    return 0;
}
0 голосов
/ 07 сентября 2011

Вот способ упростить процесс.

  1. Создайте .exe для запроса домена (текстовое поле), укажите провайдеры (в виде флажков: Все, http, https, ftp) нажмите «Добавить сайт в Доверенные сайты ", чтобы затем сделать следующее:
  2. Создать временную папку на C: как "C: \ TempTS \"
  3. Создайте файл .bat ("C: \ TempTS \ AddTrustedSites.bat"), подобный этому:

set regFile = "C: \ TempTS \ AddTrustedSiteTS.reg"

Редактор реестра ECHO Windows версии 5.00>% regFile%

ECHO [HKEY_CURRENT_USER \ Программное обеспечение \ Microsoft \ Windows \ CurrentVersion \ Internet Настройки \ ZoneMap \ Domains \ MySecureDomain.com \ www] >>% regFile

ECHO "https" = dword: 00000002 >>% regFile%

regedit / s% regFile%

DEL% regFile%

Строки ECHO [HKEY_CURRENT_USER ... и ECHO "https" ... могут повторяться для каждого проверенного поставщика. Для провайдера «ALL» вместо «https» используйте звездочку, например:

ECHO [HKEY_CURRENT_USER \ Программное обеспечение \ Microsoft \ Windows \ CurrentVersion \ Internet Настройки \ ZoneMap \ Domains \ MySecureDomain.com \ www] >>% regFile% ECHO "*" = dword: 00000002 >>% regFile%

Запустите файл .bat, используя этот вызов:

System.Diagnostics.Process.Start ( "C: \ соблазняет \ AddTrustedSites.bat")

После запуска файла .bat (занимает всего несколько микросекунд) удалите как файл bat, так и каталог tempTS.

MacSpudster

(a.k.a. GNoter, TechStuffBC)

=========================

Кредит, причитающийся кредит:

regedit / s AddTrustedSite.reg

"/ s" будет подавлять диалоговые окна подтверждения

http://www.computerhope.com/registry.html

также:

см. http://www.computing.net/answers/windows-xp/bat-file-to-add-trusted-site-in-ie/139995.html

0 голосов
/ 18 марта 2010

Чтобы добавить новую доверенную зону, она создает ключи реестра и папки на пути HKEY_CURRENT_USER \ Программное обеспечение \ Microsoft \ Windows \ CurrentVersion \ Настройки Интернета \ ZoneMap \ Домены для каждого домена создается новый ключ с доменным именем (sample.com) новый ключ под этим с поддоменом (www) и под этим новый REG_DWORD с именем схемы (http или https) значение 2 в шестнадцатеричном формате, и это все, вы сделали это

...