我有一个 powershell 脚本,我正在尝试将 webparts 自动添加到共享点页面。下面的脚本包含在 FOREach-Object 中,它在第一次迭代中运行良好,但是在第二次迭代中,它会将一些不需要的信息返回到 powershell 屏幕(以及我正在创建的日志)。
我正在寻找一种方法来防止它返回除写主机语句之外的任何内容。我最初认为这可能是一个例外,但是看起来 Web 部件仍在添加而没有问题,我在返回信息中找不到任何对异常的引用。
到目前为止,这是我所拥有的:
$addCsv | ForEach-Object{
$tempwebURL = $_.'SiteURL'
$pageUrl = $_.'Page'
$varWebPartZone = $_.'WebPartZone'
$varChrome = $_.'Chrome'
$varTitle = $_.'Title'
$varPosition = [int]$_.'Position'
#get current site
$tempweb= Get-SPWeb -Identity $tempwebURL
Write-Host ("Adding Web Part to :"+ $tempweb.Title)
#add webpart
[System.Xml.XmlTextReader]$oxmlReader = new-object System.Xml.XmlTextReader("Path removed");
$webpartmanager=$tempweb.GetLimitedWebPartManager( $pageUrl, [System.Web.UI.WebControls.WebParts.PersonalizationScope]::Shared)
[System.Web.UI.WebControls.WebParts.WebPart] $oWebPart
$err = ''
$oWebPart = new-object $webpartmanager.ImportWebPart($oxmlReader,[ref]$_.Exception.Message)
$oWebPart.Title = $varTitle
$oWebPart.ChromeType=$varChrome
$webpartmanager.AddWebPart($oWebPart, $varWebPartZone, $varPosition)| Out-Null
$oWebPart.Dispose()
$oxmlReader.Close()
$webpartmanager.Dispose()
$tempweb.Dispose()
$num++
}
以下是我不想要的打印到屏幕上的信息:
AllowClose : True
AllowConnect : True
AllowEdit : True
AllowHide : True
AllowMinimize : True
AllowZoneChange : True
AuthorizationFilter :
CatalogIconImageUrl :
ChromeState : Normal
ChromeType : None
ConnectErrorMessage :
Description :
Direction : NotSet
DisplayTitle : Last Date Modified Explorer
ExportMode : None
HasUserData : False
HasSharedData : False
Height :
HelpMode : Navigate
HelpUrl :
Hidden : False
IsClosed : False
ImportErrorMessage : Cannot import this Web Part.
IsShared : True
IsStandalone : False
IsStatic : False
Subtitle :
Title : Last Date Modified Explorer
TitleIconImageUrl :
TitleUrl :
Verbs : {}
WebBrowsableObject : Removed
Width :
Zone :
ZoneIndex : 0
Controls :
BackImageUrl :
DefaultButton :
GroupingText :
HorizontalAlign : NotSet
ScrollBars : None
Wrap : True
AccessKey :
Attributes : System.Web.UI.AttributeCollection
BackColor : Color [Empty]
BorderColor : Color [Empty]
BorderWidth :
BorderStyle : NotSet
ControlStyle : System.Web.UI.WebControls.PanelStyle
ControlStyleCreated : True
CssClass :
Style : System.Web.UI.CssStyleCollection
Enabled : True
EnableTheming : True
Font :
ForeColor : Color [Empty]
HasAttributes : False
SkinID :
TabIndex : 0
ToolTip :
ClientID : g_adea57ed_5d6d_40ee_b468_ce85e37f5e9a
ID : g_adea57ed_5d6d_40ee_b468_ce85e37f5e9a
EnableViewState : True
NamingContainer :
BindingContainer :
Page :
TemplateControl :
Parent :
TemplateSourceDirectory :
AppRelativeTemplateSourceDirectory :
Site :
Visible : True
UniqueID : g_adea57ed_5d6d_40ee_b468_ce85e37f5e9a
我也欢迎任何“你可以通过......做得更好”的评论。再次感谢。