This sample can help you operate the “TabProcGrowth” registry entry to set Tab Process Growth for Internet Explorer 8 or later versions. This entry sets the rate at which Internet Explorer creates New Tab processes and shows how to obtain and set Tab Process Growth setting for Internet Explorer by using PowerShell script.
If you use Internet Explorer 7, all tabs open under the same Iexplore.exe process. However, the only exception is if you are on a Windows Vista computer and you are moving from Protected to Unprotected mode. Internet Explorer 8 or later versions had a big makeover in this area. You will now notice that new tabs typically open in a new process. By default, Internet Explorer 8 starts with two instances of Iexplore.exe and grows the number of tab processes as needed based on the available RAM, the number of tabs, the integrity levels for tabs, and the number of distinct Internet Explorer sessions.
This script contains the following advanced functions:
You can use this script in the following ways:
Method 1:
Method 2:
To obtain detailed information about how to use these functions, run the following command to retrieve the help information:
Get-Help functionName -detailed
For example:
Get-Help Get-OSCIETabProcGrowthProperty -detailed
Here are some code snippets for your references. To get the complete script sample, please click the download button at the beginning of this page.
$OSCIETabProcGrowth = New-Object PSObject
$OSCIETabProcGrowth | Add-Member NoteProperty "ComputerName" $Computer
$OSCIETabProcGrowth | Add-Member NoteProperty "IEVersion" $IeVersion
$OSCIETabProcGrowth | Add-Member NoteProperty "TabProcGrowth" $null
$OSCIETabProcGrowth | Add-Member NoteProperty "SettingType" $null
$OSCIETabProcGrowth | Add-Member NoteProperty "Description" $null
$BaseKeyTabProcGrowth = [Microsoft.Win32.RegistryKey]::OpenRemoteBaseKey(`
[Microsoft.Win32.RegistryHive]::CurrentUser,$Computer)
$KeyTabProcGrowth = $BaseKeyTabProcGrowth.OpenSubKey(`
"Software\Microsoft\Internet Explorer\Main", $false)
$OSCIETabProcGrowth.SettingType = $KeyTabProcGrowth.GetValueKind("TabProcGrowth")
$OSCIETabProcGrowth.TabProcGrowth = $KeyTabProcGrowth.GetValue("TabProcGrowth")
$OSCIETabProcGrowth.Description = "descriptiton"
$OSCIETabProcGrowth
$OSCIETabProcGrowth = New-Object PSObject $OSCIETabProcGrowth | Add-Member NoteProperty "ComputerName" $Computer $OSCIETabProcGrowth | Add-Member NoteProperty "IEVersion" $IeVersion $OSCIETabProcGrowth | Add-Member NoteProperty "TabProcGrowth" $null $OSCIETabProcGrowth | Add-Member NoteProperty "SettingType" $null $OSCIETabProcGrowth | Add-Member NoteProperty "Description" $null $BaseKeyTabProcGrowth = [Microsoft.Win32.RegistryKey]::OpenRemoteBaseKey(` [Microsoft.Win32.RegistryHive]::CurrentUser,$Computer) $KeyTabProcGrowth = $BaseKeyTabProcGrowth.OpenSubKey(` "Software\Microsoft\Internet Explorer\Main", $false) $OSCIETabProcGrowth.SettingType = $KeyTabProcGrowth.GetValueKind("TabProcGrowth") $OSCIETabProcGrowth.TabProcGrowth = $KeyTabProcGrowth.GetValue("TabProcGrowth") $OSCIETabProcGrowth.Description = "descriptiton" $OSCIETabProcGrowth
Example 1: Get the Tab Process Growth setting for Internet Explorer.
Command: Get-OSCIETabProcGrowthProperty
Screenshot:

Example 2: Set the Tab Process Growth setting for Internet Explorer.
Command: Set-OSCIETabProcGrowthProperty –TabProcGrowth <TabProcGrowth>
Screenshot:

Windows PowerShell 2.0
Technical Resources:
32-bit browser applications may not work as expected in Internet Explorer 10
Opening a New Tab may launch a New Process with Internet Explorer 8.0