2014-09-24 54 views
0

我有一个脚本输出名称为报表,所以我试图用GET-ADUser便有返回不需要的字段

Get-ADUser -Filter * -SearchBase "OU=Staff,DC=solutions,DC=local" 
      -Properties GivenName, Surname | Export-Csv -NoType $filepath; 

它工作正常,但它返回额外不需要的字段

csv文件它应该只返回GivenNameSurname,但它返回:

DistinguishedName 
Enabled 
GivenName 
Name 
ObjectClass 
ObjectGUID 
SamAccountName 
SID 
Surname 
UserPrincipalName 

回答

1

我通常使用这样的模式:

$Props = @(
'GivenName', 
'SurName' 
) 

Get-ADUser -Filter * -SearchBase "OU=Staff,DC=solutions,DC=local" -Properties $Props | 
Select $Props | Export-Csv -NoType $filepath 

然后,只需更改/重排要选择的属性以及在$ Props数组中输出它们的顺序。

+0

作品非常感谢 – Crash893 2014-09-24 19:31:09

3

一些属性是由defualt返回。 -Properties用于指定您需要的属性,以确保它们在不属于默认属性的情况下包含在内。

仅导出您需要的属性,通过Select-Object导出之前运行数据,如:

Get-ADUser -Filter * -SearchBase "OU=Staff,DC=solutions,DC=local" -Properties GivenName, Surname | 
Select-Object GivenName, Surname | 
Export-Csv -NoType $filepath 
+0

我也喜欢这一个,没有变量的相同想法但我认为其他答案更适合其他项目 – Crash893 2014-09-24 20:08:06

+0

Nwm ;-)我只提供问题的答案。调整到前。使用变量不是问题的一部分,而是我希望别人能够自己解决的问题或者在单独的问题中提出的问题。所以问题和答案应该简短而精确。 – 2014-09-24 20:14:06

+0

+1用于回答问题。我投入了这种模式,因为它并不总是直观的,它并没有真正期望它被标记为答案。 – mjolinor 2014-09-24 20:25:27