I'm trying to create a Search Results and Articles (Body only) page through powershell. This is what I've trying: 

    # Add the PowerShell Snapin  
      
     $snapin = Get-PSSnapin | Where-Object {$_.Name -eq 'Microsoft.SharePoint.Powershell'}  
      
     if ($snapin -eq $null)   
     {   
         Add-PSSnapin "Microsoft.SharePoint.Powershell"  
     }  
       
     # Get the SiteURL  
     $SiteUrl = "https://collaboration-dvlp2.canadacouncil.ca"  
       
     # Get the WebURL  
     $WebUrl = "https://collaboration-dvlp2.canadacouncil.ca/grants/home/"  
       
     # Get the PageLayout  
     $PageLayoutRelUrl = "/_catalogs/masterpage/SearchResults.aspx"  
       
     # Get the Page URL  
     $PageName = "SearchPage.aspx"  
       
     # Get the Title of the Page which is going to get created  
     $PageTitle = "SamplePage"  
       
     # Initialize the Site Object  
     $Site = Get-SPSite($SiteUrl)  
       
     # Get the Publishing Site based on the SPSite  
     $PublishingSite = New-Object Microsoft.SharePoint.Publishing.PublishingSite($Site)  
       
     # Get the SPWeb Object  
     $Web = Get-SPWeb $WebUrl  
       
     # Initialize the PublishingWeb based on the SPWeb  
     $PublishingWeb = [Microsoft.SharePoint.Publishing.PublishingWeb]::GetPublishingWeb($Web)  
        
     # Get the PageLayouts Installed on the Publishing Site  
     $Layouts = $PublishingSite.GetPageLayouts($False)  
       
     # Get our PageLayout  
     #$PageLayout = $Layouts[$PageLayoutRelUrl]  
     $PageLayout = $PublishingSite.GetPageLayouts($false)| ? {$_.Name -eq "SearchResults.aspx"}
    
     # Create a new publishing page.  
     $Page = $PublishingWeb.AddPublishingPage($PageName, $PageLayout)  
       
     # Assign the Title for the Page  
     $Page.Title = $PageTitle  
       
     # Update the Page  
     $Page.Update();  
       
     # Check in the Page with Comments  
     $Page.CheckIn("Page Created Successfully")  
       
     # Publish the Page With Comments  
     $Page.ListItem.File.Publish("Page Created Successfully and  Publish Comment")  
    
     # Set as homepage
     $RootFolder = $Web.RootFolder
     $RootFolder.WelcomePage = "Pages/" + $PageName
     $RootFolder.Update();
     $Web.Dispose()


I keep getting this error: 

> Exception calling "AddPublishingPage" with "2" argument(s): "Value
> does not fall within the expected range." At line:45 char:2
> +  $Page = $PublishingWeb.AddPublishingPage($PageName, $PageLayout)