【发布时间】:2018-06-10 18:43:08
【问题描述】:
我想从 Microsoft Active Directory 中导出几个多值“字段”。我不想手动定义所有“数组指针”,而是想自动生成它们。
我已经检查过了 Powershell outputting array items when interpolating within double quotes 并尝试了几种替代方法,但我总是被表达式卡住
$SearchBases ='dummy.com','dummy2.com'
$csv_file_path = "C:\Test\Export.csv"
$properties_select = ''
$properties_multivalue = 'proxyAddresses','showInAddressBook','memberOf'
# go through each multi_value property and automatically generate 8 fields for upto 8 array elements
ForEach($prop in $properties_multivalue) {
for ($i=0; $i -le 8; $i++) {
$properties_select += @{Name=$prop+'_'+$i; Expression={$_.$($prop[$i])}}
}
}
ForEach($SearchBase in $SearchBases) {
Get-ADObject -filter 'objectClass -eq "contact"' -SearchBase $SearchBase -properties $properties_multivalue
|SELECT-Object $properties_select
|Export-Csv -Append -Force -Delimiter ";" -NoClobber -Encoding UTF8 -path $csv_file_path
}
我怀疑我做错了什么
$properties_select += @{Name=$prop+'_'+$i; Expression={$_.$($prop[$i])}}
任何帮助/提示都是有用的。
谢谢 克里斯
【问题讨论】:
标签: powershell exchange-server export-to-csv multivalue