我有一個powershell腳本,我試圖自動將webparts添加到sharepoint頁面。下面的腳本被封裝在一個FOREach對象中,並且它在第一次迭代中工作正常,但是在第二次迭代時,它將一些不需要的信息返回到PowerShell屏幕(以及我創建的日誌)。Powershell Catch返回值
我正在尋找一種方法來防止它返回除寫入主機語句以外的任何東西。我原本以爲它可能是一個例外,但它看起來像網絡部分仍然被添加沒有問題,我無法找到任何在退貨信息的exeption的參考。
這裏是我迄今:
$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
我也歡迎任何「你可以這樣做更好......「評論。再次感謝。
其中之一,你不需要寫'$ _。'SiteURL''''_ _。SiteURL'就足夠了。如果屬性名稱中包含空格或其他重要字符,則只需使用引號。 – Joey
刪除該行:[System.Web.UI.WebControls.WebParts.WebPart] $ oWebPart –