【发布时间】:2020-05-07 21:42:04
【问题描述】:
我有以下代码可以编写任何属于或不属于该组的用户:
$Host.UI.RawUI.WindowTitle = "User Group Finder"
$groupname = Read-Host -Prompt 'Enter group name: '
Write-Host ""
Write-Host "People who are not in this group:" -ForegroundColor Red
$results = @()
$users = Get-ADUser -Properties memberof -Filter *
foreach ($user in $users) {
$groups = $user.memberof -join ';'
$results += New-Object psObject -Property @{'User'=$user.name;'Groups'= $groups}
}
$results | Where-Object { $_.groups -notmatch $groupname } | Select-Object user
Write-Host "People who are in this group:" -ForegroundColor Green
$results | Where-Object { $_.groups -match $groupname } | Select-Object user
当我只想得到一个输出时,该代码正在工作。
但我想要两个不同的输出(在组中的人和不在组中的人)。
现在的问题是它的组合输出。
有什么方法可以从一个 psObject 生成两个不同的输出?
【问题讨论】:
-
但是你已经有两个基于
-match和-notmatch的不同输出来自一个psObject:$results -
@Jawad 我知道。但是当您运行脚本时,您只会得到一个组合输出。像这样:imgur.com/a/Vda0x9j
标签: powershell active-directory output domaincontroller psobject