Pergunta

Trabalhando em um script que irá despejar todas as listas e bibliotecas de um site, encontrei o script no Blog de Mike Smith: http://techtrainingnotes.blogspot.com/2011/06/finding-sharepoint-guids-using.html

Eu coloquei alguns prompts para entrada do usuário, mas por outro lado ainda é o mesmo código... é ótimo, mas preciso ser capaz de separar o que é uma lista e o que é uma biblioteca... alguém sabe como ajustar este script separar os dois tipos de objetos relatados... para que em vez de uma longa lista de listas e bibliotecas os mostre agrupados por tipo?

Aqui está o código:

$sitec = Read-Host 'Enter Site Collection (ex: http://yours.yourdomain.com)'
$subsite = Read-Host 'Enter Sub-Site(ex: departments or ENTER for "root")'
$site = Get-SPSite $sitec
$web = $site.OpenWeb("$subsite")
write-host "Site: " + $site.id
write-host "Web: " + $web.id
$web.lists | Format-Table title,id -AutoSize
$web.Dispose()
$site.Dispose()

Saúde!

Foi útil?

Solução

Você deveria tentar

$libraries = $web.lists | Where-Object { $_.BaseType -Eq "DocumentLibrary" } 
$libraries | Format-Table title,id -AutoSize

$lists = $web.lists | Where-Object { $_.BaseType -Eq "GenericList" } 
$lists | Format-Table title,id -AutoSize

A chave aqui é o SPList.BaseType propriedade.

Conforme descrito no Enumeração SPBaseType, existem outros tipos de base que você pode levar em consideração.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a sharepoint.stackexchange
scroll top