如何防止Powershell不显示脚本处理数据

时间:2016-03-01 15:06:09

标签: powershell backend

我创建了一个用于更新SharePoint列表的powershell脚本。当我运行它时,显示所有后台处理到控制台,例如所有列表架构信息。我希望它只显示创建的脚本输出(只有Write-Host的输出)而不是开箱即用的后端处理。有没有可用于防止这种情况的命令?

当我在脚本

中使用ArrayList的.add方法时,它显示如下计数
0
1
2
3

,当我将List项目存储在脚本中的某个变量中时,它显示了List 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

1 个答案:

答案 0 :(得分:1)

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

您可以将void关键字添加到arraylist" Add"命令或将其传递给Out-Null

$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