簡體   English   中英

當返回的值是$ null或類似值時,將自定義值輸出到PS表中

[英]Output custom value into PS table when value returned is $null or similar

我正在根據列出的合同到期日期的用戶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

我想做的是將自定義值(如果沒有值)放在“合同到期日期”列中。

即,如果我沒有合同,則默認值為null,因此電子表格中未顯示任何內容。 但是,如果我想在字段中輸入“無合同到期”或“全職到期”怎么辦?

使用上述命令找不到適合的內容。 通過不使用Select和export-csv之類的方法,我可能可以編寫一個完整的powershell腳本以將其輸出到CSV文件,但是我寧願不這樣做,除非我真的必須這樣做。

您大約到達那里的方式的95%。 Select-Object的Expression部分中的腳本塊是一個完整的腳本塊,因此您可以在其中執行測試:

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM