为什么这两个powershell命令不会返回相同的结果?

时间:2011-03-16 22:18:09

标签: powershell sharepoint-2010

在powershell脚本中,我想获取所有SPWeb对象。

如果我使用此命令:

get-spsite | get-spweb

我得到的结果与命令相同:

get-spsite | foreach {Get-SpWeb -Site $_ }

[编辑] 以下命令也正常工作,即使默认值为limit也是200:

get-spsite | get-spweb -Limit All

[/编辑]

第二个命令返回所有Web,第一个命令跳过其中一些Web(在我的例子中,企业wiki站点和搜索中心站点都被跳过,以及它们的OWA Web缓存)

为什么?

实际输出如下:

PS C:\Windows\system32> get-spsite | get-spweb

Url
---
http://clients
http://clients/sites/Office_Viewing_Service_Cache
http://clients/xxxxxxx
http://intranet
http://intranet/PressReleases
http://intranet/Search
http://intranet/wiki
http://intranet/sites/Office_Viewing_Service_Cache
http://my
http://my/personnel/yyyyy
http://my/sites/broadcast
http://my/sites/Office_Viewing_Service_Cache
http://projets
http://projets/sites/zzzzzz
http://projets/sites/zzzzzz/gedqualite
http://projets/sites/Office_Viewing_Service_Cache
http://projets/sites/xxxxxxx
http://projets/sites/xxxxxxx/wwwww
http://projets/tfs/Protos
http://projets/tfs/Protos/pokerstars


PS C:\Windows\system32> get-spsite | get-spweb -Limit all

Url
---
http://clients
http://clients/sites/Office_Viewing_Service_Cache
http://clients/xxxxxxx
http://intranet
http://intranet/PressReleases
http://intranet/Search
http://intranet/wiki
http://intranet/sites/Office_Viewing_Service_Cache
http://my
http://my/personnel/yyyyy
http://my/sites/broadcast
http://my/sites/Office_Viewing_Service_Cache
http://projets
http://projets/sites/zzzzzz
http://projets/sites/zzzzzz/gedqualite
http://projets/sites/Office_Viewing_Service_Cache
http://projets/sites/xxxxxxx
http://projets/sites/xxxxxxx/wwwww
http://projets/tfs/Protos
http://projets/tfs/Protos/pokerstars
http://search
http://search/sites/Office_Viewing_Service_Cache
http://wiki
http://wiki/sites/Office_Viewing_Service_Cache

1 个答案:

答案 0 :(得分:0)

你有超过200个网络吗?

尝试使用-Limit ALL

我认为第一个语句是一个命令,因此只返回200个网页

第二个语句是多个命令,因此将返回(站点数量* 200)网站(如果有的话)