2014-09-24 17 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