2016-03-01 59 views
-5

我已经创建了用于更新SharePoint列表的powrshell脚本。当我运行它显示所有后台处理到控制台例如所有列表架构信息。我希望它只显示脚本创建输出(唯一的输出与写入主机),而不是开箱即用的后端处理。有没有可用的命令来防止这种情况?如何防止Poweshell不显示脚本处理数据

它显示一个如下计数,当我使用。新增的ArrayList的方法,其中曾经在脚本

0 
1 
2 
3 

,它显示列表的XML Schema当我存储在像下面的脚本局部变量清单项目:

Sealed      : False 
Version      : 28 
DisplayFormTemplateName  : DocumentLibraryForm 
EditFormTemplateName  : DocumentLibraryForm 
NewFormTemplateName   : DocumentLibraryForm 
NewFormUrl     : 
MobileNewFormUrl   : 
EditFormUrl     : 
MobileEditFormUrl   : 
DisplayFormUrl    : 
MobileDisplayFormUrl  : 
Id       : 0x010100C568DB52D9D0A14D9B2FDCC96666E9F2007948130EC3DB064584E219954237AF39009893A4DD0A05487AAE05EAE8D183333C003933922476541344B8A065CBACE8178D 
ReadOnly     : False 
Name      : NewsPage 
NameResource    : Microsoft.SharePoint.SPUserResource 
FeatureId     : 00000000-0000-0000-0000-000000000000 
Description     : Used to create news articles. 
JSLink      : 
DescriptionResource   : Microsoft.SharePoint.SPUserResource 
Hidden      : False 
+0

你在谈论可能是一些从标准输出输出的东西从应用程序的输出,详细,警告或错误流。看到代码会很有帮助。 –

+0

如果输出来自Windows命令行程序,则可以重定向其输出。但是,亚当表示一个不完整的问题会得到不完整的答案。请在SO帮助中心查看提交问题的相关信息。 –

+1

一般只需要管道Out-Null来摆脱输出。 – EBGreen

回答

1

一些.Net方法和外部程序将其退出代码和其他输出输出到stdout。

您可以void关键字添加到ArrayList“添加”命令或管道它到Out-空

$MyList = [System.Collections.ArrayList]@() 
1..10 | % { $MyList.Add($_) } # outputs 0 to 9 

1..10 | % { [void]$MyList.Add($_) } # no output 
1..10 | % { $MyList.Add($_) | Out-Null } # no output