Powershell 包含,检查变量不起作用

Powershell contains, check with variable not working

我尝试了几个小时,但不明白为什么这不起作用...

  1. 正在加载包含多个站点条目的 CSV:

https://tenant.sharepoint/sites/SiteA

https://tenant.sharepoint/sites/SiteB

https://tenant.sharepoint/sites/SiteC

https://tenant.sharepoint/sites/SiteD

  1. 获取所有 SharePoint 站点

  2. 检查 SharePoint 网站是否在 CSV 列表中

问题是,结果我总是得到“False”。 有什么问题?

$exceptionSites = Import-Csv -Path "Document.csv"
$siteFilter = $exceptionSites.ExceptSite

$sites = Get-SPOSite -Limit ALL | select url
   foreach ($site in $sites) 
      {

          if ($siteFilter -contains $site)
              {

                  Write-Output "Site is on list"
              }
          else 
              {         
                  Write-Output "Site is not on list"
              }
    }   

当我更改 if ($siteFilter -contains "https://tenant.sharepoint/sites/SiteA") 时它正在工作....

查看代码中的 $Sites。你会看到它仍然有 URL 属性.

试试这个:

$sites = Get-SPOSite -Limit ALL | Select-Object -ExpandProperty url

或者试试这个:

          if ($siteFilter -contains $site.url)

但不要两者都做。