【发布时间】:2014-03-26 11:35:19
【问题描述】:
我有以下命令:
$startDate='01/02/2013'
$endDate='26/03/2014'
Search-AdminAuditLog -Cmdlets set-mailboxsearch -StartDate $startDate -EndDate $endDate | where {$_.cmdletparameters.name -notcontains "inplaceholdenabled"}|Add-Member -Name "SearchName" -MemberType ScriptProperty -PassThru -Value {Get-MailboxSearch -Identity $this.objectmodified} | select "objectmodified","Caller","Rundate","cmdletname",@{Name="SearchName";Expression={$_.searchname.Name}}
返回:
ObjectModified : XXXXXXXX
Caller : Administrator
RunDate : 25/03/2014 4:33:17 PM
CmdletName : Set-MailboxSearch
SearchName :
ObjectModified : AAMkADQyZDMxY2UwL
Caller : Administrator
RunDate : 25/03/2014 9:35:02 AM
CmdletName : Set-MailboxSearch
SearchName :
当我在 PowerShell ISE 中运行时,SearchName 字段始终为空字符串,但如果我在 shell 中复制并运行相同的命令,它会返回 SearchName 作为“测试搜索 2 到 7”,这是必需的值。
为什么这两个地方的行为不同?我在这里做错了什么?
【问题讨论】:
标签: powershell exchange-server