Exchange 2010 PowerShell: Método Value.ToMB () falla de forma remota pero funciona localmente

Estoy creando un informe de ciertos attributes de buzón desde Exchange Server 2010 usando PowerShell. El siguiente código funcionó perfectamente desde mi estación de trabajo de administración usando una session remota.

$Mailboxes = Get-mailbox -ResultSize Unlimited foreach ($Mailbox in $Mailboxes) { $Mailbox | Add-Member -MemberType "NoteProperty" -Name "MailboxSizeMB" -Value (Get-MailboxStatistics $Mailbox).TotalItemSize } 

Sin embargo, cuando agregué el método de .Value.ToMb () al atributo de TotalItemSize, la escritura falló con el error siguiente:

 $Mailboxes = Get-mailbox -ResultSize Unlimited foreach ($Mailbox in $Mailboxes) { $Mailbox | Add-Member -MemberType "NoteProperty" -Name "MailboxSizeMB" -Value ((Get-MailboxStatistics $Mailbox).TotalItemSize.Value.ToMb()) } 

No puede llamar a un método en una expresión de valor nulo. En la línea: 6 char: 6 + $ Caja | Add-Member -MemberType "NoteProperty" -Name "MailboxSizeMB" -Val … + ~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + CategoryInfo: InvalidOperation: (:) [], RuntimeException + FullyQualifiedErrorId: InvokeMethodOnNull

No se puede procesar la transformación de arguments en el parámetro 'Identidad'. No se puede convertir el valor "[Nombre buzón networkingactado]" de tipo "Deserialized.Microsoft.Exchange.Data.Directory.Management.Mailbox" para escribir "Microsoft.Exchange.Configuration.Tasks.GeneralMailboxOrMailUserIdParameter". + CategoryInfo: InvalidData: (:) [Get-MailboxStatistics], ParameterBindin … mationException + FullyQualifiedErrorId: ParameterArgumentTransformationError, Get-MailboxStatistics

Y sin embargo … el segundo bloque de código (convertir el valor de TotalItemSize a MB) funciona perfectamente cuando lo ejecuto localmente en el server de Exchange. ¿Puede alguien explicar por qué esto sólo falla remotamente?

  • Windows Server 2008 R2 La secuencia de commands de PowerShell se ejecuta manualmente, pero no como una tarea progtwigda
  • PowerShell y AD muestran una date de caducidad de usuario diferente
  • Copiar files del server local al server remoto usando powershell
  • Filesize supervisión script powershell seguro para ejecutar en una database Access 2003 multiusuario?
  • NTFS formateado almacenamiento extraíble, con security quitar / desmontar a través de command-line?
  • Gestión de certificates SSL con Powershell DSC
  • Powershell - Query remoto Política de security local?
  • Eliminar un grupo de windows en Active Directory
  • 2 Solutions collect form web for “Exchange 2010 PowerShell: Método Value.ToMB () falla de forma remota pero funciona localmente”

    Esto sucede cuando te estás perdiendo los types de .Net que Exchange utiliza. PowerShell remoting perfomrs alguna serialization que hace que algunos objects terminen como "PsObject" en lugar de la plena strongy typescript object. La solución es instalar la Consola de administración de Exchange en su equipo cliente, esto includeá los types .Net que necesita.

    Prueba esto:

     Set-ADServerSettings -ViewEntireForest $true -WarningAction SilentlyContinue 

    A continuación, ejecute el set de commands.

    El linux y los temas del servidor de Windows, como ubuntu, centos, apache, nginx, debian y consejos de red.