比较对象并导出差异

时间:2018-12-06 16:08:54

标签: powershell select-object

我想制作一个比较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 StorageQuotaAllocated
7 StorageQuota
6 ResourceQuotaAllocated
5 ResourceQuota
4 OwnerAnonymousNotification
3 OneDriveStorageQuota
2 DefaultLinkPermission
1条件访问策略
0 AllowDownloadingNonWebViewableFiles

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

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

也欢迎获得相同结果的其他选项:)

1 个答案:

答案 0 :(得分:0)

Select-Object -Property可以采用一组属性名称。

请参见first example here