Remoting do PowerShell com o Exchange 2010: o valor não pode ser nulo

8

Estou com dificuldades para executar os cmdlets do Exchange 2010 por meio de sessões remotas do PowerShell.

Eu inicio minha sessão local do PowerShell como Administrador e emita os seguintes comandos -

PS C:\Windows\system32> $mailcred = Get-Credential
PS C:\Windows\system32> $mailSession = New-PSSession -ComputerName MAILSRV -Credential $mailcred
PS C:\Windows\system32> Enter-PSSession $mailSession
[MAILSRV]: PS C:\Users\jdoe\Documents> Add-PSSnapin Microsoft.Exchange.Management.PowerShell.E2010
[MAILSRV]: PS C:\Users\jdoe\Documents> hostname
MAILSRV
[MAILSRV]: PS C:\Users\jdoe\Documents> Get-ExchangeServer
Value cannot be null.    
Parameter name: serverSettings
    + CategoryInfo          : 
    + FullyQualifiedErrorId : System.ArgumentNullException,Microsoft.Exchange.Management.SystemConfigurationTasks.GetExchangeServer

[MAILSRV]: PS C:\Users\jdoe\Documents> get-mailbox
Value cannot be null.    
Parameter name: serverSettings
    + CategoryInfo          : 
    + FullyQualifiedErrorId : System.ArgumentNullException,Microsoft.Exchange.Management.RecipientTasks.GetMailbox

Como você pode ver, nenhum dos cmdlets do Exchange está funcionando. Qual poderia ser o problema?

    
por pk. 09.04.2012 / 23:40

6 respostas

2

Você está tentando se conectar ao ponto de extremidade de remoting padrão no Exchange Server e adicionar os snapins ps a partir daí. Isto está errado. Substitua suas primeiras 3 linhas por isso:

$mailcred = Get-Credential
$mailSession = New-PSSession -ConfigurationName Microsoft.Exchange -ConnectionUri http://MAILSRV/PowerShell/ -Credential $mailcred
Import-PsSession $mailSession

Você não precisa inserir a sessão, importe-a para a sessão local. A partir daqui, você pode usar os CmdLets específicos do Exchange localmente. Além disso, alguns dos tipos .Net do Exchange são instalados com o Console de Gerenciamento do Exchange, portanto, isso precisa ser instalado no computador local se você quiser fazer coisas com tamanhos de caixa de correio (o Exchange usa seus próprios tipos para objetos de tamanho)

    
por 30.05.2013 / 15:57
1

Você pode fazer assim, com import-pssesion e especificando o connectionURI & Nome de configuração.

PS U:\> $cred = Get-Credential
PS U:\> $session = New-PSSession -ConnectionUri http://Exchange01/powershell -ConfigurationName Microsoft.Exchange -Credential $cred
PS U:\> Import-PSSession $session
PS U:\> Get-Mailbox marius.davidsen

Name                      Alias                ServerName       ProhibitSendQuota                                                                                        
----                      -----                ----------       -----------------                                                                                        
Marius Davidsen           Marius.Davidsen      Exchange01       unlimited             

Isso requer que você permita a porta TCP 80 em seu firewall.

Usando essa sessão, você também pode inseri-la como queria:

PS U:\> Enter-PSSession $session
[Exchange01]: PS> get-mailbox
[Exchange01]: PS> get-mailbox marius.davidsen

Name                      Alias                ServerName       ProhibitSendQuota                                                                                        
----                      -----                ----------       -----------------                                                                                        
Marius Davidsen           Marius.Davidsen      Exchange01       unlimited         
    
por 04.06.2013 / 10:33
0

Eu tive o mesmo problema uma vez. Eu acho que a solução foi esta:

$s=new-pssession -computername xxxxx
import-pssession -session $s

adicione seu snap-in e execute seus comandos

fonte: link

    
por 12.04.2012 / 19:45
0

Você tentou instalar as Ferramentas de Gerenciamento do Exchange no DVD e configurar sua estação de trabalho?

    
por 17.09.2012 / 21:35
0

Sugiro usar o ponto de extremidade de remoting que faz parte da instalação de troca normal. Você pode encontrar mais detalhes aqui

Eu o usei com sucesso tanto com o EX 2010 quanto com o EX 2013. Ele é suportado e segue as regras do RBAC, então eu sugiro usá-lo em vez de adicionar snappin do Exchange ao ponto de extremidade de remoting "normal".

    
por 08.12.2012 / 15:59
0

O problema é que ambas as máquinas devem estar no mesmo domínio.

Certifique-se também de usar a conta de domínio, não a local.

    
por 12.03.2013 / 15:50