Different exclusion lists
There are 4 different exclusion lists in Windows Parental Controls that are used to control which programs and which urls are allowed to be connected to. The two main lists are the HttpExemptionList and the UrlExemptionList, these are modifiable lists than can be added to by installation programs to put themselves into the excluded programs list or to allow specific urls. There are also two read only lists, the WinHttpEmptionList and the WinUrlExemptionList, these lists contain programs and urls that cannot be added or removed using WMI. They are inbuilt system programs and urls that are required for the system to operate correctly.
You can see all four lists through the WMI interface, I showed you how to see the first two lists in a previous blog entry. Displaying the second two is the same thing, just using the other WMI entry names. I updated the script to also show the windows readonly blocked items.
Here is the output from the script:
App Exmemption list:
C:\Program Files\Windows Media Player\Wmpconfig.exe
C:\Program Files\Windows Media Player\Wmpshare.exe
C:\Program Files\Windows Media Player\Wmpnetwk.exe
C:\Program Files\Windows Media Player\Wmpsideshowgadget.exe
C:\Program Files\Windows Media Player\wmplayer.exe
C:\Program Files\Windows Media Player\Wmpenc.exe
C:\Program Files\Windows Media Player\Wmlaunch.exe
C:\Program Files\Windows Media Player\Wmpnscfg.exe
C:\Program Files\Windows Media Player\Wmprph.exe
Windows (readonly) App Exmemption list:
C:\Windows\eHome\MCUpdate.exe
C:\Windows\HelpPane.exe
C:\Windows\eHome\ehrec.exe
Url Exmemption list:
https://drmlicense.one.microsoft.com
https://preview.services.wmdrm.windowsmedia.com
https://services.wmdrm.windowsmedia.com
Windows (readonly) Url Exmemption list:
https://go.microsoft.com/fwlink/
https://games.metaservices.microsoft.com
https://images.metaservices.microsoft.com
https://www.microsoft.com/library/media/1033/windowsvista/images/shield.png
https://oca.microsoft.com
https://wer.microsoft.com
https://www.microsoft.com/windowsvista/images/lockedout_uncompressed48.png
Here is what the script looks like:
// Setup some defines for the rest of the script, points to the local machine
// and the parental controls namespace.
strComputer = ".";
strRootNamespace = "\\ROOT\\CIMV2";
strNamespace = strRootNamespace + "\\Applications\\WindowsParentalControls";
// Connect to WMI and get the system settings object.
strConnectStr = "winmgmts:\\\\" + strComputer + strNamespace;
sysSettings = GetObject(strConnectStr + ":WpcSystemSettings=@");
// APplication exemptions (don't ask why this is a HttpExeptionList).
list = sysSettings.HttpExemptionList;
if (list != null) {
strExemption = "App Exmemption list:\n";
// Get the indexes and move through the array to print it out.
for (str in list.toArray()) {
strExemption = strExemption + " " + list.getItem(str) + "\n";
}
} else {
strExemption = "No app exemptions defined.\n";
}
// Show the path to the new instance.
WScript.Echo(strExemption);
list = sysSettings.WinHttpExemptionList;
if (list != null) {
strExemption = "Windows (readonly) App Exmemption list:\n";
// Get the indexes and move through the array to print it out.
for (str in list.toArray()) {
strExemption = strExemption + " " + list.getItem(str) + "\n";
}
} else {
strExemption = "No app exemptions defined.\n";
}
// Show the path to the new instance.
WScript.Echo(strExemption);
// Url exemtpions.
list = sysSettings.UrlExemptionList;
if (list != null) {
strExemption = "Url Exmemption list:\n";
// Get the indexes and move through the array to print it out.
for (str in list.toArray()) {
strExemption = strExemption + " " + list.getItem(str) + "\n";
}
} else {
strExemption = "No url exemptions defined.\n";
}
// Show the path to the new instance.
WScript.Echo(strExemption);
// Url exemtpions.
list = sysSettings.WinUrlExemptionList;
if (list != null) {
strExemption = "Windows (readonly) Url Exmemption list:\n";
// Get the indexes and move through the array to print it out.
for (str in list.toArray()) {
strExemption = strExemption + " " + list.getItem(str) + "\n";
}
} else {
strExemption = "No url exemptions defined.\n";
}
// Show the path to the new instance.
WScript.Echo(strExemption);