比较对象并导出差异

Compare objects and export the difference

我想制作一个比较 O365 租户设置的脚本。阅读它们很好,现在我想做一些不同的对象。 一个相关的问题在这里,但没有答案。 Powershell Compare-Object and getting the Differences into a File

我已经从两个租户创建了一个 json 文件,如:

$srcTenant | Select-Object -Property * | ConvertTo-Json | Out-File "$targetfolder$targetfile"

现在,我想要一个仅包含使用以下脚本收集的属性的文件:

我到目前为止:

$properties = ($srcTenant | Get-Member -MemberType Property | Select-Object -ExpandProperty Name)
$selectedproperties = @{}
$i = 0
foreach ($property in $properties) {
  if (Compare-Object $srcTenant $trgTenant -Property "$property") {
  $selectedproperties.Add($i, "$property")
  $i++
  }
}

$selectedproperties 变量包含 9 个属性,我只想以与其他两个相同的格式导出这 9 个。

名称值
---- -----
8 存储配额分配
7 存储配额
6 资源配额分配
5 资源配额
4 所有者匿名通知
3 OneDriveStorageQuota
2 默认链接权限
1 条件访问策略
0 AllowDownloadingNonWebViewableFiles

所以,我正在寻找类似的东西:

$srcTenant | Select-Object -Property (that 9 property above) | ConvertTo-Json | Out-File "$targetfolder$targetfile

也欢迎其他达到相同结果的选项:)

Select-Object -Property 可以采用 属性 个名称的数组。

查看 first example here