【发布时间】:2017-10-10 00:20:00
【问题描述】:
我使用以下 PowerShell 脚本来获取所有应用程序和有权使用它们的用户。 现在我想将结果导出为 CSV,但它不起作用,我不知道为什么。
Add-PSSnapin Citrix*
asnp citrix*
Import-Module ActiveDirectory
$OutArray = @()
$OutArray += Get-BrokerApplication -AdminAddress *CITRIX DDC* | ForEach {
$name = $_.ApplicationName
$description = $_.Description
$assocgroups = $_.AssociatedUserNames
foreach ($group in $assocgroups) {
$result = $group -match '^*DOMAIN NAME*\\(.+)$'
if ($result) {
$groupname = $Matches[1]
$members = Get-ADGroupMember -Identity "$groupname" -Recursive | Select Name,sAMAccountName,distinguishedName,mail
foreach ($member in $members) {
$result = $member.distinguishedname -match 'CN=.+,OU=Users,OU=(.+),OU=Department,DC=*DOMAIN NAME*,DC=de'
if (-not $result) {
# several exceptions from the default user DN exist for administrative users and/or service accounts
$result = $member.distinguishedname -match "CN=.+,(?:OU=Administrators,)?OU=(?:Administrators),OU=Infrastructure,DC=*DOMAIN NAME*,DC=de"
if (-not $result) {
$result = $member.distinguishedname -match "CN=.+,(?:OU=Testusers,)?OU=(?:Service Accounts),?OU=(?:Windows-Servers),OU=Infrastructure,DC=*DOMAIN NAME*,DC=de"
}
}
if ($result) {
$dept = $Matches[1]
Write-Host $member.Name";" $groupname";" $group";" $dept
} else {
throw "ERROR: User DN $($member.distinguishedName) does not match any known user departmental OU."
}
}
} else {
throw "Associated user names field does not match group standard naming scheme."
}
}
}
$OutArray | Export-Csv C:\temp\test.csv -NoTypeInformation
【问题讨论】:
-
欢迎来到 StackOverflow。请采取tour,学习提出好问题stackoverflow.com/help/how-to-ask,制作minimal reproducible example。 MCVE 应包括各种样本输入(说明所有方面)和所需的输出。如果您正在寻求有关调试代码的帮助,请参阅 ericlippert.com/2014/03/05/how-to-debug-small-programs 请提供有关它如何不起作用、错误消息、观察到的不良行为、与所需输出的差异等的更多信息...
-
你能给我们看一个你想要在 CSV 中做什么的例子吗?
标签: powershell csv foreach export-to-csv citrix