Мне нужно перебрать все семейства сайтов и все дочерние сайты и распечатать только дочерние сайты с определенным шаблоном:
/sites/clientcode/oppcode6digits
Каждое семейство сайтов клиентов имеет много дочерних сайтов, но мне нужны только те, URL которых находится в конце 6-значного кода.
У меня пока что есть, но не работает:
$SPWebApp = Get-SPWebApplication "https://mylocalurl.com"
foreach ($SPSite in $SPWebApp.Sites) {
if ($SPSite -ne $null -and $SPSite.Url -notmatch "billing" -and $SPSite.Url -notmatch "administrativedocuments" -and $SPSite.Url -notmatch "documentation" -and $SPSite.Url -notmatch "help" -and $SPSite.Url -notmatch "marketing" -and $SPSite.Url -and $SPSite.Url -notmatch "search" -and $SPSite.Url -ne $rootDMS ) {
foreach ($web in $SPSite.AllWebs) {
$regex = ‘\b[0-9]{6}\b’
$patrn = "https://mylocalurl/sites/*/$regex"
Write-Host $web.Url | select-string -Pattern $patrn
}
}
$SPSite.Dispose()
}