Powershell para listar GUIDs de listas e bibliotecas, mas como separar
-
10-12-2019 - |
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!
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.