2017-08-01 49 views
0

我有一个从AD导出的powershell,现在我想将几个字段属性(最后3个字段)合并到CSV文件的一列中。这是我的代码:将属性与Powershell导出结合

Get-ADUser -SearchBase "OU=All Users,DC=domain,DC=ca,DC=gov" -filter {(employeeType -eq "CEA" -OR employeeType -eq "Permanent Employee")} -Properties objectGUID, sAMAccountName, mail, employeeType, manager, department, division, extensionAttribute4 | 
    Select-Object objectGUID, sAMAccountName, @{Label="mail";Expression={$_.mail.ToLower()}}, employeeType, manager, department, division, extensionAttribute4 | 
    export-csv -path "D:\System \UserAccounts.csv" 

有人可以帮忙吗?谢谢!

+2

您明显知道如何使用'Select-Object'来知道如何创建属性,或者复制了如何创建属性的代码,为什么不使用它来做你想要的? – TheMadTechnician

+0

我终于可以将对象一起放入一个单元格中。现在他们导出到一个CSV文件,但合并在一起。现在我需要确定如何在每个对象之间用“/”来显示它们。 – TGomez

+0

对不起,我知道在这个论坛提问。 – TGomez

回答

1

正如TheMadTechnician所暗示的,您已经为mail属性创建了一个“计算属性”Select-Object。所以你只需要用这个概念来构建一个字符串。

我把你的代码,并合并计算mail财产与employeetype和使用的子表达式运算符$()评估双引号(字符串插值)的内部属性。

Get-ADUser -SearchBase "OU=All Users,DC=domain,DC=ca,DC=gov" -filter {(employeeType -eq "CEA" -OR employeeType -eq "Permanent Employee")} -Properties objectGUID, sAMAccountName, mail, employeeType, manager, department, division, extensionAttribute4 | 
    Select-Object objectGUID, sAMAccountName, @{Label="mail and employeeType";Expression={"$($_.mail.ToLower())/$($_.employeeType)"}}, employeeType, manager, department, division, extensionAttribute4 | 
    export-csv -path "D:\System \UserAccounts.csv" 
+0

谢谢,那是我想要的。我确信我的代码比我们需要的时间更长,但它对我来说很有用。我结束了两个表达式。 – TGomez