Powershell 当返回的值为$null或类似值时,将自定义值输出到PS表中
我正在根据列出合同到期日期的用户广告生成报告。 到目前为止,我已经能够想出这个,它输出到一个CSV文件与自定义标题和日期缩短Powershell 当返回的值为$null或类似值时,将自定义值输出到PS表中,powershell,quest,Powershell,Quest,我正在根据列出合同到期日期的用户广告生成报告。 到目前为止,我已经能够想出这个,它输出到一个CSV文件与自定义标题和日期缩短 Get-QADUser -SizeLimit 0 -IncludedProperties AccountExpires,Domain,Name -DontUseDefaultIncludedProperties | Where { $_.Title -ne "Resource" } | Select @{Label="Domain";Expression={(($_.Do
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
我想做的是在“合同到期日”列中输入一个自定义值,如果它们没有值的话
也就是说,如果我没有合同,默认值为空,因此电子表格中不会显示任何内容。但是,如果我想把“无合同到期”或“全职到期”放在字段中,该怎么办
无法使用上面的命令找到任何合适的内容。我可能可以编写一个完整的powershell脚本,通过不使用诸如选择和导出CSV之类的方法将其输出到CSV文件,但我宁愿不这样做,除非我真的必须这样做。您已经完成了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
谢谢,伙计,这就是我想要的答案。我稍微编辑了一下你的答案,因为它缺少一些东西(只有一个“`”和“(”)。