KnowledgeHub
Questions
Tags
Users
Search
Alex Rivera
|
Logout
Edit Question
Title
Body
I'm writing a PowerShell script that uses the SharePoint 2010 New-SPWeb cmdlet to create sites defined by an Xml file: <?xml version="1.0" encoding="utf-8" ?> <siteStructure> <site> <url>Corporate</url> <name>Corporate</name> <language>1033</language> <addToQuickLaunch>0</addToQuickLaunch> <addToTopNav>0</addToTopNav> <useParentTopNav>1</useParentTopNav> </site> </siteStructure> The New-SPWeb cmdlet has three switch parameters: AddToQuickLaunch AddToTopNav UseParentTopNav I'm having trouble figuring out how to only set the switch parameter when the matching value in the Xml is 0 or $true. It's almost like I need some sort of inline-if syntax when calling New-SPWeb to set the three switch parameters. $siteStructureData = [xml](Get-Content .\Data-SiteStructure.xml) # find the template to use $webTemplate = Get-SPWebTemplate | Where {$_.Title -like $templateName } if ($webTemplate) { # iterate through and create sites foreach ($siteToCreate in $siteStructureData.siteStructure.site) { "Creating site $webtitle at $URL/$webUrl" # http://technet.microsoft.com/en-us/library/ff607579.aspx New-SPWeb ` -Url "$URL/$siteToCreate.url" ` -Name $siteToCreate.name ` -Template $webTemplate ` -Language $siteToCreate.language # set -AddToQuickLaunch # set -AddToTopNav # set -UseParentTopNav } } else { throw ("Could not find template $templateName"); } Many thanks!
Tags (comma-separated)
Save Edits
Cancel