带点符号的PowerShell组对象

带点符号的PowerShell组对象,powershell,Powershell,我正在尝试为每个经理创建一封电子邮件,他在active directory中负责的用户帐户将在给定的时间范围内过期。它已经运行得很好了,但我在对经理进行分组时遇到了一些问题 如果能够将管理者分组,然后在一个小HTML表($Rows)中收集该特定管理者负责的所有用户,那就太好了。HTML代码不是问题所在,但迭代该管理器的用户是我的问题 代码: $OU = 'OU=BBB,OU=EU,DC=domain,DC=net', 'OU=AAA,OU=EU,DC=domain,DC=net' [INT]$D

我正在尝试为每个经理创建一封电子邮件,他在active directory中负责的用户帐户将在给定的时间范围内过期。它已经运行得很好了,但我在对经理进行分组时遇到了一些问题

如果能够将管理者分组,然后在一个小HTML表(
$Rows
)中收集该特定管理者负责的所有用户,那就太好了。HTML代码不是问题所在,但迭代该管理器的用户是我的问题

代码:

$OU = 'OU=BBB,OU=EU,DC=domain,DC=net', 'OU=AAA,OU=EU,DC=domain,DC=net'
[INT]$Days = 30
$ExpUsers=$Objects=@()
Foreach ($O in $OU) {
    $ExpUsers += Search-ADAccount -AccountExpiring -TimeSpan "$Days.00:00:00" -UsersOnly -SearchBase $O | 
        Select -ExpandProperty SamAccountName
}
Foreach ($E in $ExpUsers) {
    $User = Get-ADUser $E -Properties * | Select SamAccountName, EmailAddress, GivenName, 
                                            SurName, AccountExpirationDate, Manager, DisplayName   
    $Manager = Get-ADUser $User.Manager -Properties * | Select SamAccountName, EmailAddress, GivenName, SurName
    $Objects += [PSCustomObject]@{
        User = $User
        Manager = $Manager
    }
}
$Objects | Group-Object Manager.SamAccountName | % {        
    $Rows=@()
    foreach($M in $_) {
        # Create HTML row for each user with the same manager
        $M.Group.Manager.SurName
    }
}
可以像这样轻松地对经理进行分组:

$Objects.Manager | Group-Object SamAccountName
$Objects += [PSCustomObject]@{
    UserSamAccountName = $User.SamAccountName
    UserGivenName = $User.GivenName
    ManagerSamAccountName = $Manager.SamAccountName
    ManagerGivenName = $Manager.GivenName
}
但是,当我这样做时,我不能再使用
用户
属性,因为它们没有通过管道传输到
组对象

克服这一障碍的最佳方法是什么?我当然可以这样创建我的对象:

$Objects.Manager | Group-Object SamAccountName
$Objects += [PSCustomObject]@{
    UserSamAccountName = $User.SamAccountName
    UserGivenName = $User.GivenName
    ManagerSamAccountName = $Manager.SamAccountName
    ManagerGivenName = $Manager.GivenName
}

但是,如果我以后想添加内容,这个解决方案似乎没有那么灵活。

我在一个示例中找到了我的答案: