【发布时间】:2016-10-10 18:46:22
【问题描述】:
***为清晰而编辑:
我的 ADP CSV 包含与所列完全一致的这些标题:操作日期、工作信息生效日期、位置名称、法定姓名、员工状态代码、名字、姓氏、员工 ID、职位、位置状态、位置城市、员工班级、雇用日期、工作终止日期、FLSA 加班指示器、FLSA 状态。
我的 Office 365 CSV 包含与所列完全一致的这些标题:显示名称、电子邮件地址
我需要一个 CSV,其中列出:显示名称、电子邮件地址、城市、州、位置名称、职位。
我需要一个 Powershell 脚本,将这两个文件组合在一起,让我只剩下 Office 365 用户和他们的个人资料丢失的数据,例如城市、州、位置名称、职位。
我了解为 Office 365 列表创建哈希表,但每次创建它都会返回“数组索引评估为 Null”,这意味着我没有在哈希表中使用正确的标题名称。
****再次编辑!我附上我的代码。除了它创建的电子邮件列是空白的之外,它可以完成我需要的所有操作。我不再遇到 hast table 错误。
$ItemsToKeep = 'First Name','Last Name','Employee Status Code','Location Name','Job Title','Location State'
$ItemsToKeep += @{Name = "Display Name"; Expression = {$_.'First Name' + ' ' + $_.'Last Name'}}
$ItemsToKeep += @{Name = "Email"; Expression = { $EmailLookupTable[$_.'Display Name'] }}
$EmailLookupTable = @{}
Import-Csv C:\O365LIST.csv |ForEach-Object {
$EmailLookupTable[$_.'Display Name'] = $_.'Email Address'
}
Import-Csv C:\ADPLIST.csv |Where-Object {$_.'Employee Status Code' -eq 'Active'} | Select $ItemsToKeep | export-csv C:\Testing.csv -notypeinformation
【问题讨论】:
标签: powershell csv