Thursday, March 10, 2016

Internet Explorer site to zone assignments - is it valid and why not?

Hi there.

Time for a new post finally... Recently, I got involved in a discussion about IE zone assignments via Group Policy. This post discusses which entries are valid or not.

How to assign a site to a zone?

There are two possible ways to assign a security zone to a URL:
  1. Native Group Policy - MVP colleague Alan Burchill has a nice tutorial on that:
  2. Registry (through Group Policy Preferences Registry) - MVP colleague Joseph Moody has a nice tutorial on that:
The first method prevents users from adding sites on their own. If this is desired, use it. The second method allows users to add sites on their own. 

What can I add as a site?

Site to zone assignments (s2z) takes URLs. A URL basically has up to 5 parts:
  • Protocol (http, ftp, file...)
  • User and password (
  • Hostname ( or IP address
  • Port (
  • Path ( 
s2z always requires a hostname or IP adress - for file:// it requires a server and optionally a share. User and password is never allowed. The protocol is optional. Port and path can be entered in the assignment, but are stripped upon processing.

If a hostname is provided, it must be either a plain hostname (no domain part) or a FQDN that consists of at least 3 parts. Hosts in root domains are not possible. If the FQDN consists of 3 parts only, the second level domain must have more than 2 characters in Windows versions prior to 10.

In addition, s2z supports wildcards. To be precise, it supports exactly 2 asterisk wildcards - one for the protocol and one for the plain host name in a FQDN or for the last part of an IP address. Repeat that: It is only 2 * wildcards (no ?), and they are only allowed for the protocol and for the plain host name or last IP address part - nowhere else.

If you have invalid entries, all valid entries will be still processed. s2z will log an event to the group policy eventlog with ID 1085 and error code 87 ("The parameter is incorrect"). Unfortunately, it will not add the site that caused the error to the event nor will it add the GPO that contained that entry.

So in case of errors it is up to you, the busy admin, to identify the invalid entries. To do so, check all GPOs for s2z entries and validate them. To assist you with this task, Microsoft provides some valid and invalid patterns here:

And to further assist you, here are some more comprehensive samples of s2z entries and explanations why they are valid or not.

Valid entries


    Valid entry - consist of a fully qualified host name (FQDN). Since no protocol is specified, it will be applied for all protocols.
  • https://intranet

    Valid entry - consist of a protocol and a plain host name. Since no domain is specified, it will be applied to a host sitting in the primary dns suffix domain.

    Partially valid entry - consist of protocol, host and port. The port will be transparently stripped, it will be applied for all ports on that host.

    Partially valid entry - consist of protocol, host and path. The path will be transparently stripped, it will be applied for all paths on that host.
  • *://

    Valid entry - since the protocol is a wildcard, it is identical to specifying (without a protocol)
  • *

    Valid entry - since the plain hostname is a wildcard, it applies to all hosts in the domain

    Valid entry - IP addresses are allowed as well as hostnames.
  • 192.168.1-255.*

    Valid entry - consists of an IP range and a wildcard for all hosts in that range.

    Valid entry - but be aware that this is not an entry for the host microsoft in the domain com, but s2z converts this to * This is an implication of one of the rules above: If you use a FQDN, it must consist of at least 3 parts. Since we have only 2 parts here, s2z assumes this to be a domain.

Invalid entries

  • *

    Invalid entry - a wildcard is not allowed as a part of the hostname, but for the whole hostname only.
  • www.mycorp.*

    Invalid entry - the wildcard replaces a part of the domain.
  • www.*

    Invalid entry (same as above) - the wildcard replaces a part of the domain.
  • http*://

    Invalid entry - a wildcard is not allowed as a part of the protocol, but for the whole protocol only (which of course is the same as omitting the protocol at all).
  • 192.168.*.1

    Invalid entry - a wildcard for IP addresses can only be used in the last position.
  • *.*

    Invalid entry - only one wildcard is allowed, and only for the hostname.
Remark: In earlier versions of windows, if you provided a wildcard with a second level domain with only two letters (* e.g.), this was an invalid entry. This was to prevent the whole SLD of some countrys to be added. At the time of this writing, this type of entry has become valid in Windows 10.


The discussion I mentioned above involved those two guys I wish to give credits:

MVP Jeremy Moskowitz - and

IT Consultant Carl Webster -, specifically which was the first result of our discussion. Thanks Carl for clarifying the thing about ports and paths that get stripped and the second level domain auto-wildcarding :)


  1. Oops - there really are people reading this blog :) Yeah, felt it was time to sum up what I found out how IE zone mapping works and what Carl contributed during his research. Thanks Joseph!

    1. Hi,
      You write that as of Windows 10 this has changed:
      At the time of this writing, this type of entry has become valid in Windows 10.

      Can you provide some documentation on this since I don't see anything written up about this?

    2. There's no written documentation from MS, it was all "try and error" with various entries and various Windows versoins.

  2. thanks, finally there someone who confirm what I always tried to explain... and your blog is awesome, I thins more people is reading it than you may think

  3. Hi there

    How would I integrate something like this:


    1. Hm - I don't really understand your question... Simply type it in as it is. It is a valid URL, so it will work without issues.

  4. you are a life-saver!

    Valid entry - but be aware that this is not an entry for the host microsoft in the domain com, but s2z converts this to *"

    I had NO idea!!

    Thank you!!!!

  5. Do I understood this correct If we write it's the same like *

  6. Great write up, it helped a lot while troubleshooting some s2z polcies. Hoping to share a little bit of feedback that I've found that wasn't explicitly covered in the post and might be easily overlooked.

    Despite one of the referenced documenation links mentioning that "http://*" is invalid, I have found that it _is_ valid.

    One addition I want to add though is that even though "" expands to "http://*", that only applies for the first level subdomain, which, as you mentioned, is due to lack of being a FQDN.

    If you want "http://*" to work, you need to explicitly set "http://*" and not just "", due to being a FQDN and matching a single host.

    It is still true that "http://*.*" does not work.

    Hope this helps someone who finds this post and is trying to get wildcard subdomains to work.

  7. Hello
    If i have a customer with the following entries for zone 1 / intranet.


    Would this cause any confusion during processing? Auto logon to the following adfs domain name wont work correctly. I'm wondering if it due to the multiple entries.

    1. AFAIK it should work, but I never dug into ADFS auto logon too deep... You can easily verify which zone IE actually uses by right clicking and viewing the site properties.

  8. Is this a valid entry?*

  9. Thank you for sharing your tips! This is very helpful and informative! I’m looking forward to seeing more updates from you.

    Web Hosting Services

  10. This article is still the most clear and comprehensive on I have found. Doing GPO cleanup and this was a major help. Thanks for being awesome Martin! (and Jeremy, and Carl)

    1. Thanks for this awesome feedback - this blog is not really "lifely", but the author is still online and searching for issues worth blogging :-)

  11. Great post, but still one question :)
    "*" will work for ""
    But what about "", should I add another entry "*" ?
    (I think it was the initial question of "Udo J" three years ago :D )

    1. Yes, you need to add another entry. These assignments are "one level only", they do not apply to subdomains.

  12. As of 3/19/2020, including Windows 10 1803 with March 2020 CU installed, add this to the list of invalid entries (no idea why, but no iteration of seems to work):

    I am not the only one who experienced this:

  13. I can confirm, too. Seems a regex quirk in the checking code... Or an easter egg for the competitor customers. In addition, in the german error message, they screwed the pattern samples :-)

    Subdomains of amazonaws do work, like *