SharePointページにWebパーツを自動的に追加しようとしているPowerShellスクリプトがあります。以下のスクリプトはFOREach-Objectでラップされており、最初の反復では正常に機能しますが、2回目の反復では、PowerShell画面(および作成中のログ)に不要な情報が返されます。
それがwrite-hostステートメント以外のものを返さないようにする方法を探しています。当初は例外かもしれないと思っていましたが、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
また、「これをもっとうまくやれる」というコメントも歓迎します。再度、感謝します。