Tôi đang viết một kịch bản PowerShell mà sử dụng SharePoint 2010 New-SPWeb cmdlet để tạo ra các trang web được xác định bởi một tập tin Xml:có điều kiện xác định các thông số chuyển đổi trong PowerShell
<?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>
Các lệnh New-SPWeb có ba các thông số chuyển đổi:
- AddToQuickLaunch
- AddToTopNav
- UseParentTopNav
Tôi đang gặp khó khăn khi tìm ra cách chỉ đặt thông số chuyển đổi khi giá trị khớp trong Xml bằng 0 hoặc $ true.
Nó gần giống như tôi cần một số loại cú pháp inline-if khi gọi New-SPWeb để đặt ba tham số chuyển đổi.
$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");
}
Rất cám ơn!
Wow! Tôi đang làm chính xác điều tương tự! Chỉ gần 2 năm sau – Andez