Create a SharePoint Intranet
Navigation
A PowerShell with SharePoint tutorial
As a last part in our series PowerShell with SharePoint
from Scratch, we offer some articles and demos where Peter
Kalmström explains how to create an intranet with three
subsites for three departments in a small company.
The root site is a HQ site that we created in an
earlier article. In the
previous article, we created subsites, one for each
department. All sites are Communication sites, and this
site type has no global navigation. Instead, the Quick launch
is placed on top of the page.
In the demo below, Peter shows how to write a PowerShell
script that gives the sites a common navigation, so that
all sites can be reached from any other site. All sites
will also have an external link.
The navigation code is written in three steps. The two forEach
loops both get data from the array of departments that we
created in the previous article.
Subsite links on the root site
In the forEach loop created in the previous article, Peter
comments out the create subsite command and adds a command
with the Add-PnPNavigationNode cnmdlet that adds the links
to the subsites on the HQ site.
Add-PnPNavigationNode -Location QuickLaunch -Title $Dep -Url ($URL + "/" + $Dep)
Links on the subsites
Peter creates a new forEach loop for the subsites and starts
the execution with connecting to the current subsite.
An encapsulated forEach loop runs an Add-PnPNavigationNode
command if the current department name is not equal to the
current subsite name, to add the links between the subsites.
Two other Add-PnPNavigationNode commands add links to the
HQ site and the external site.
foreach($Dep in $Departments){
$CurrWebURL =($URL + "/" + $Dep)
Connect-PnPOnline $CurrWebURL
foreach($DepSub in $Departments){
if($Dep -ne $DepSub){
Add-PnPNavigationNode -Location QuickLaunch -Title $DepSub -Url ($URL + "/" + $DepSub)
}
}
Add-PnPNavigationNode -Location QuickLaunch -Title "HQ" -Url $URL
Add-PnPNavigationNode -Location QuickLaunch -Title "Pedalling"
-Url "https://pedalling.com" -External
}
External link on the root site
Peter connects back to the HQ site and creates the external
link with another Add-PnPNavigationNode command.
Connect-PnPOnline $URL
Add-PnPNavigationNode -Location QuickLaunch -Title "Pedalling"
-Url "https://pedalling.com" -External
|