gpt4 book ai didi

powershell - 在 PowerShell 中有条件地指定开关参数

转载 作者:行者123 更新时间:2023-12-02 21:10:26 26 4
gpt4 key购买 nike

我正在编写一个 PowerShell 脚本,该脚本使用 SharePoint 2010 New-SPWeb cmdlet 来创建由 Xml 文件定义的网站:

<?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>

New-SPWeb cmdlet 具有三个开关参数:

  1. 添加到快速启动
  2. 添加到顶部导航
  3. 使用ParentTopNav

我无法弄清楚如何仅在 Xml 中的匹配值为 0 或 $true 时设置开关参数。

这几乎就像我在调用 New-SPWeb 来设置三个开关参数时需要某种内联 if 语法。

$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");
}

非常感谢!

最佳答案

计算之前的$result($true$false):

$result = ...

然后使用它:

New-SPWeb `
-Url "$URL/$siteToCreate.url" `
-Name $siteToCreate.name `
-Template $webTemplate `
-Language $siteToCreate.language `
-AddToQuickLaunch:$result `
-AddToTopNav:$result `
-UseParentTopNav:$result

关于powershell - 在 PowerShell 中有条件地指定开关参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7808227/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com