0

我有一个 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

我也欢迎任何“你可以通过......做得更好”的评论。再次感谢。

4

1 回答 1

2

我的猜测是以下行是罪魁祸首:

[System.Web.UI.WebControls.WebParts.WebPart] $oWebPart

在第一次迭代中,这不会做太多,它只是$null. 但在以后的迭代中,它会保留前一次迭代的值并输出它。反正你不需要那条线,因为它什么都不做。

于 2013-02-06T14:27:44.497 回答