Powershell ISE返回空字符串,但在shell中工作正常
我有以下命令:Powershell ISE返回空字符串,但在shell中工作正常,powershell,exchange-server,Powershell,Exchange Server,我有以下命令: $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" -MemberTy
$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返回为“test search 2 to 7”,这是必需的值
为什么这两个地方的行为有所不同?我在这里做错了什么?答案可能是在这个重复的线程中,基本上ISE与控制台不同,并且有许多警告供您学习 换句话说,您的脚本可能没有问题,ISE存在
问题