【发布时间】:2015-03-04 23:10:20
【问题描述】:
我正在尝试在 powershell 中编写一个小脚本,特别是使用交换。它所做的只是询问发件人和/或收件人,然后根据指定日期或过去 30 天的日期反馈跟踪日志。
我正在尝试使用开关检查哪些变量已完成,然后在变量中生成参数,然后将其传递给 cmdlet,但这会失败并显示“找不到接受参数的位置参数” .
手动输入带有变量内容的命令完成,但使用变量本身甚至不在开关之外
Switch ($i) {
'1' {$x = "-Sender $sender -Start $date"}
'2' {$x = "-recipient $recipient -Start $date"}
'3' {$x = "-Sender $sender -Recipient $Recipient -Start $date"}
}
Get-MessageTrackingLog $x | Select timestamp, ServerHostName, Sender, recipients, MessageSubject, eventID, EventData | Out-GridView
这是脚本中失败的部分。 $i 是一个基于
计数的变量if (!($sender)) {$i = $i}
else {$i = $i + 1}
if (!($recipient)) {$i = $i}
else {$i = $i + 2}
这可能不是最理想的解决方案,但效果很好。
我知道我可以让开关运行整个命令,这是可行的,但我试图避免这种情况,以便我可以根据需要添加到脚本中
【问题讨论】:
标签: powershell exchange-server