2014-03-25 19 views
0

我正在生成AD列出的具有合同到期日期的用戶的報告。 到目前爲止,我已經能夠想出這個,它輸出到一個CSV文件,自定義標題和日期縮短。

Get-QADUser -SizeLimit 0 -IncludedProperties AccountExpires,Domain,Name -DontUseDefaultIncludedProperties | Where { $_.Title -ne "Resource" } | Select @{Label="Domain";Expression={(($_.Domain).Name)}},@{Label="Employee Name";Expression={($_.Name)}},@{Label="Contract Expiry Date";Expression={(($_.AccountExpires).ToShortDateString())}},title,department,Office | Export-Csv C:\ExportForHR.csv -NoTypeInformation 

我想要做的就是把一個自定義值放在「Contract Expiry Date」列中,如果他們沒有任何價值的話。

I.e.如果我沒有合同,默認值爲空,因此電子表格中沒有顯示任何內容。但是,如果我想在該領域提出「無合同到期」或「全職到期」呢?

使用上述命令找不到合適的東西。我可以編寫一個完整的powershell腳本來輸出到CSV文件,而不使用Select和export-csv之類的東西,但我寧願不要,除非我真的必須這樣做。

回答

0

你約95%的路。在選擇-對象的表達部分的腳本塊是一個完整的腳本塊,這樣你就可以在那裏權進行測試:

Get-QADUser -SizeLimit 0 -IncludedProperties AccountExpires,Domain,Name -DontUseDefaultIncludedProperties | 
Where { $_.Title -ne "Resource" } | 
Select-Object 
    @{Label="Domain";Expression={(($_.Domain).Name)}}, 
    @{Label="Employee Name";Expression={($_.Name)}}, 
    @{Label="Contract Expiry Date";Expression={ 
    if ($_.AccountExpires -ne $null) { 
     $_.AccountExpires).ToShortDateString() 
    } else { 
     $CustomValue 
    } 
    }, 
    title, 
    department, 
    Office 
| Export-Csv C:\ExportForHR.csv -NoTypeInformation 
+0

感謝隊友,這是我一直在尋找的答案。我已經稍微編輯了你的答案,因爲它缺少一些運行的東西(只是'''和'(')。 –