0

如何管理Exchange 2010的Get-MoveRequest命令的输出,以便Name变量可以在$ Username变量中使用?如何将用户名从Get-MoveRequest管道传输到Get-MailboxStatistics?

[CmdletBinding(DefaultParameterSetName = "MoveUser")] 
param(
    [Parameter(Mandatory = $true, ParameterSetName = "MoveUser", ValueFromPipeline = $true, Position = 0)] 
    $Username 
) 

function Get-MBStats($Username ) 
{ 

$req = Get-MailboxStatistics -Identity $Username -IncludeMoveHistory 

$UserDetail = ($req).MoveHistory[0] 
# TODO: SOME CUSTOM STUFF HERE # 

New-Object PSObject -Property @{ 
Username = $Username 
Status = $UserDetail.Status 
TargetDatabase = $UserDetail.TargetDatabase 
CompletionTime = $UserDetail.CompletionTimestamp 
MailboxSizeKB = $UserDetail.TotalMailboxSize.ToKB() 
DurationSec = $UserDetail.TotalInProgressDuration.TotalSeconds 
BadItems = $UserDetail.BadItemsEncountered 
} 


# Todo: GUI http://msdn.microsoft.com/en-us/magazine/hh288074.aspx # 
} 

Get-MBStats($Username) 

UPDATE

下面是从MoveRequest输出成员(源)

这里是目标

TypeName: Microsoft.Exchange.Data.Mapi.MailboxStatistics 

Name     MemberType Definition 
----     ---------- ---------- 
Clone     Method  System.Object Clone() 
Dispose     Method  System.Void Dispose() 
Equals     Method  bool Equals(System.Object obj) 
GetDisposeTracker  Method  Microsoft.Exchange.Diagnostics.DisposeTracker GetDisposeTracker() 
GetHashCode    Method  int GetHashCode() 
GetProperties   Method  System.Object[] GetProperties(System.Collections.Generic.ICollection[Microsoft.... 
GetType     Method  type GetType() 
SuppressDisposeTracker Method  System.Void SuppressDisposeTracker() 
ToString    Method  string ToString() 
Validate    Method  Microsoft.Exchange.Data.ValidationError[] Validate() 
PSComputerName   NoteProperty System.String PSComputerName=nycexhc01.nfp.com 
RunspaceId    NoteProperty System.Guid RunspaceId=dc444c7e-bcac-4c1c-8fdf-847875456c03 
AssociatedItemCount  Property  System.Nullable`1[[System.UInt32, mscorlib, Version=2.0.0.0, Culture=neutral, P... 
Database    Property  Microsoft.Exchange.Data.ObjectId Database {get;} 
DatabaseName   Property  System.String DatabaseName {get;} 
DeletedItemCount  Property  System.Nullable`1[[System.UInt32, mscorlib, Version=2.0.0.0, Culture=neutral, P... 
DisconnectDate   Property  System.Nullable`1[[System.DateTime, mscorlib, Version=2.0.0.0, Culture=neutral,... 
DisconnectReason  Property  System.Nullable`1[[Microsoft.Exchange.Data.Mapi.MailboxState, Microsoft.Exchang... 
DisplayName    Property  System.String DisplayName {get;} 
Identity    Property  Microsoft.Exchange.Data.Mapi.MailboxId Identity {get;} 
IsArchiveMailbox  Property  System.Nullable`1[[System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, ... 
IsQuarantined   Property  System.Boolean IsQuarantined {get;} 
IsValid     Property  System.Boolean IsValid {get;} 
ItemCount    Property  System.Nullable`1[[System.UInt32, mscorlib, Version=2.0.0.0, Culture=neutral, P... 
LastLoggedOnUserAccount Property  System.String LastLoggedOnUserAccount {get;} 
LastLogoffTime   Property  System.Nullable`1[[System.DateTime, mscorlib, Version=2.0.0.0, Culture=neutral,... 
LastLogonTime   Property  System.Nullable`1[[System.DateTime, mscorlib, Version=2.0.0.0, Culture=neutral,... 
LegacyDN    Property  System.String LegacyDN {get;} 
MailboxGuid    Property  System.Guid MailboxGuid {get;} 
MailboxTableIdentifier Property  System.String MailboxTableIdentifier {get;} 
MapiIdentity   Property  Microsoft.Exchange.Data.Mapi.MapiObjectId MapiIdentity {get;} 
MoveHistory    Property  System.Object MoveHistory {get;} 
ObjectClass    Property  Microsoft.Exchange.Data.Mapi.ObjectClass ObjectClass {get;} 
OriginatingServer  Property  Microsoft.Exchange.Data.Fqdn OriginatingServer {get;} 
ServerName    Property  System.String ServerName {get;} 
StorageLimitStatus  Property  System.Nullable`1[[Microsoft.Exchange.Data.Mapi.StorageLimitStatus, Microsoft.E... 
TotalDeletedItemSize Property  Microsoft.Exchange.Data.Unlimited`1[[Microsoft.Exchange.Data.ByteQuantifiedSize... 
TotalItemSize   Property  Microsoft.Exchange.Data.Unlimited`1[[Microsoft.Exchange.Data.ByteQuantifiedSize... 

回答

0

成员的文档是不明确什么Get-MoveRequest返回,但索姆像下面是你可以尝试:

Get-MoveRequest ... | select -expand Name | Get-MBStats 
+0

我刚刚更新与成员的问题,如果有帮助...通过'|找到|得到-member' – LamonteCristo