Introduction

The xInternetExplorerHomePage module is a part of the Windows PowerShell Desired State Configuration (DSC) Resource Kit, which is a collection of DSC Resources. This module contains the xInternetExplorerHomePage resource. This resource enables you to set one or more IE homepages using PowerShell DSC.

All of the resources in the DSC Resource Kit are provided AS IS, and are not supported through any Microsoft standard support program or service. The "x" in xInternetExplorerHomePage stands for experimental, which means that these resources will be fix forward and monitored by the module owner(s).

Please leave comments, feature requests, and bug reports in the Q & A tab for this module.

If you would like to modify xInternetExplorerHomePage module, feel free. When modifying, please update the module name, resource friendly name, and MOF class name (instructions below). As specified in the license, you may copy or modify this resource as long as they are used on the Windows Platform.

For more information about Windows PowerShell Desired State Configuration, check out the blog posts on the PowerShell Blog (this is a good starting point). There are also great community resources, such as PowerShell.org , or PowerShell Magazine . For more information on the DSC Resource Kit, check out this blog post.

Installation

To install xInternetExplorerHomePage module

  • If you are using WMF4 / PowerShell Version 4: Unzip the content under $env:ProgramFiles\WindowsPowerShell\Modules folder
  • If you are using WMF5 Preview: From an elevated PowerShell session run ‘Install-Module xInternetExplorerHomePage’

To confirm installation:

  • Run Get-DSCResource to see that the resources listed above are among the DSC Resources displayed

Requirements

This module requires the latest version of PowerShell (v4.0, which ships in Windows 8.1 or Windows Server 2012R2). To easily use PowerShell 4.0 on older operating systems, install WMF 4.0. Please read the installation instructions that are present on both the download page and the release notes for WMF 4.0.

Details

xInternetExplorerHomePage resource has following properties:

  • StartPage: Specifies the home page of Internet Explorer.
  • SecondaryStartPages: Specifies the secondary home pages of Internet Explorer.
  • Ensure: Indicates the IE home page is Present or Absent.

Renaming Requirements

When making changes to these resources, we suggest the following practice:

  1. Update the following names by replacing MSFT with your company/community name and replacing the "x" with "c" (short for "Community") or another prefix of your choice:
    • Module name (ex: xInternetExplorerHomePage becomes cInternetExplorerHomePage)
    • Resource folder (ex: MSFT_xInternetExplorerHomePage becomes Contoso_xInternetExplorerHomePage)
    • Resource Name (ex: MSFT_xInternetExplorerHomePage becomes Contoso_cInternetExplorerHomePage)
    • Resource Friendly Name (ex: xInternetExplorerHomePage becomes cInternetExplorerHomePage)
    • MOF class name (ex: MSFT_xInternetExplorerHomePage becomes Contoso_cInternetExplorerHomePage)
    • Filename for the <resource>.schema.mof (ex: MSFT_xInternetExplorerHomePage.schema.mof becomes Contoso_cInternetExplorerHomePage.schema.mof)
  2. Update module and metadata information in the module manifest
  3. Update any configuration that use these resources

We reserve resource and module names without prefixes ("x" or "c") for future use (e.g. "MSFT_InternetExplorerHomePage" or "MSFT_ADUser"). If the next version of Windows Server ships with a "InternetExplorerHomePage" resource, we don't want to break any configurations that use any community modifications. Please keep a prefix such as "c" on all community modifications.

Versions

1.0.0.0

  • Initial release with the following resources
    • xInternetExplorerHomePage

Examples

Example 1: Set the Internet Explorer Home Page

PowerShell
Edit|Remove
Configuration SetIEHomePage 
{ 
    Param 
    ( 
        #Target nodes to apply the configuration   
        [String[]]$NodeName = $env:COMPUTERNAME,   
   
        #Specifies the URL for the home page of Internet Explorer. 
        [Parameter(Mandatory)]   
        [ValidateNotNullOrEmpty()]   
        [String]$StartPageURL,   
   
        #Specifies the URL for the secondary home pages of Internet Explorer. 
        [Parameter()]    
        [String]$SecondaryStartPagesURL,   
   
        #Set the value as 'Present'/'Absent', it indicates the IE home page is configured/unconfigured. 
        [Parameter(Mandatory)]   
        [ValidateSet('Present','Absent')]   
        [String]$SetEnsure 
    ) 
     
    Import-DSCResource -ModuleName xInternetExplorerHomePage 
  
    Node "localhost" 
    { 
        xInternetExplorerHomePage IEHomePage 
        { 
            StartPage = $StartPageURL 
            SecondaryStartPages = $SecondaryStartPagesURL 
            Ensure = $SetEnsure 
        } 
    } 
} 
  
SetIEHomePage -StartPageURL "www.bing.com" -SetEnsure 'Present' 
Start-DscConfiguration -Path .\SetIEHomePage  -Wait -Force -Verbose 
 

Example 2: Set the Secondary Start Page

PowerShell
Edit|Remove
  
Configuration SetIEHomePage 
{ 
    Param 
    ( 
        #Target nodes to apply the configuration   
        [String[]]$NodeName = $env:COMPUTERNAME,   
   
        #Specifies the URL for the home page of Internet Explorer. 
        [Parameter(Mandatory)]   
        [ValidateNotNullOrEmpty()]   
        [String]$StartPageURL,   
   
        #Specifies the URL for the secondary home pages of Internet Explorer. 
        [Parameter()]    
        [String]$SecondaryStartPagesURL,   
   
        #Set the value as 'Present'/'Absent', it indicates the IE home page is configured/unconfigured. 
        [Parameter(Mandatory)]   
        [ValidateSet('Present','Absent')]   
        [String]$SetEnsure 
    ) 
     
    Import-DSCResource -ModuleName xInternetExplorerHomePage 
  
    Node "localhost" 
    { 
        xInternetExplorerHomePage IEHomePage 
        { 
            StartPage = $StartPageURL 
            SecondaryStartPages = $SecondaryStartPagesURL 
            Ensure = $SetEnsure 
        } 
    } 
} 
  
SetIEHomePage -StartPageURL "www.bing.com" -SecondaryStartPagesURL "www.google.com" -SetEnsure 'Present' 
Start-DscConfiguration -Path .\SetIEHomePage  -Wait -Force -Verbose