【发布时间】:2019-09-18 15:50:32
【问题描述】:
我一直在编写一个脚本,该脚本输出两个文件并包含一个参数,用于确定结果是否输出到几个 .csv 文件。
[Parameter(Mandatory = $False)]
[String]$ToFile = $True
if ($ToFile = $True) {
$OutputCerts.GetEnumerator() | Export-Csv -NoTypeInformation -Path $Path
}
if ($IncludeExpiredCerts -eq $True -And $ToFile -eq $True) {
$ExpiredCerts.GetEnumerator() | Export-Csv -NoTypeInformation -Path $ExpiredPath
}
我遇到的问题是$ToFile 开关,当$ToFile 为真时,它会输出$OutputCerts .csv,当我将$IncludeExpiredCerts 开关设置为真时,我得到两个.csv文件如您所料,但是,当我将$ToFile 开关设置为 false 时,我仍然得到 .csv 输出,但我不确定为什么。
任何建议将不胜感激。
【问题讨论】:
-
if ($ToFile = $True)与if ($ToFile -eq $True) -
非常感谢,知道这将是一件小事doh
-
另外,参数
$ToFile不应该是[String],而是[Bool]。为什么不将它用作[switch]$ToFile并像if ($ToFile) {...}一样使用它
标签: powershell scripting