powershell - 具有不同信息的两个对象
问题描述
当我收到电子邮件委托时,我会这样做
If ($Delegate.count -eq 0) {
$Result = [PSCustomObject]@{
PrimaryEmail = $SourceEmail
Delegate = "None"
}
$resultsEmail += $Result
}
Else {
Foreach ($user in $Delegate) {
$Result = [PSCustomObject]@{
PrimaryEmail = $SourceEmail
Delegate = $user.DelegateAddress
}
$resultsEmail += $Result
}
}
我还想获得日历委托并添加它。问题是它是两个独立的信息量。任何一个都可以是不同的数量。
Foreach ($user in $DelegateCalendarl) {
$Result = [PSCustomObject]@{
CalendarDelegateEmail = $DelegateCalendar.'scope.value'
CalendarRole = $DelegateCalendar.role
CalendarDelegateType = $DelegateCalendar.'scope.type'
}
$ResultsCal += $Result
最后出来的会是一张漂亮的桌子,比如
PrimaryEmail | Delegate | CalendarDelegateEmail | CalendarRole | CalendarDelegateType
user@email Delagate@email Delagate@email manager user
user@email "" Delagate2@email Reader user
如何将两个结果合并到一个漂亮的表格 csv 文件中,就像上面的示例一样?(我知道如何分别输出它们)
解决方案
这就是我所做的。不漂亮,但它有效。
$SourceEmail = 'test@email.com'
[array]$DelegateEmail = gam user $SourceEmail print delegates | ConvertFrom-Csv
[array]$DelegateCalendar = gam calendar $SourceEmail print acls | ConvertFrom-Csv
[int]$max = $DelegateCalendar.Count
if ([int]$DelegateEmail.count -gt [int]$DelegateCalendar.count) { $max = $DelegateEmail.Count; }
$Output = @()
$Result = $null
If ($DelegateEmail.count -eq 0) {$mailD = "None"}
If ($DelegateEmail.count -eq 1) {$mailD = $DelegateEmail.DelegateAddress}
for ( $i = 0; $i -lt $max; $i++) {
If ($DelegateEmail.count -eq 0 -and $i -ige 1) {$mailD = ""}
If ($DelegateEmail.count -eq 1 -and $i -gt 0) {$mailD = ""}
if ($DelegateEmail.count -gt 1) {$MailD = $DelegateEmail.DelegateAddress[$i]}
$Result = [PSCustomObject]@{
PrimaryEmail = $SourceEmail
DelegateEmailAddress = $mailD
CalendarDelegateEmail = $DelegateCalendar.'scope.value'[$i]
CalendarRole = $DelegateCalendar.Role[$i]
CalendarDelegateType = $DelegateCalendar.'scope.type'[$i]
}
$Output += $Result
}
$Output | Export-Csv C:\test.csv -NoTypeInformation
推荐阅读
- unity3d - Unity:将 MoveRotation 应用于具有偏移的对象
- adobe - 将较旧的 CQ 5.5 博客组件升级到 AEM 6.2
- php - PHP Code Sniffer - 空格和下划线的规则更新和调整
- angular - 角度:管道不起作用
- php - 即使终端关闭,也保持 swoole websocket 运行
- javascript - 使用 ajax 的自动完成表单无法正常工作
- amazon-web-services - 在启用服务器端加密的情况下跨账户访问 AWS SQS
- sql - 如何使用特定行对表 SQL ORACLE 表进行分组
- css - 无法在 Angular 中自定义 Kendo-Window
- python - python穷举组合