我在通过远程PowerShell会话运行Exchange 2010 cmdlet时遇到困难。
我以管理员身份启动本地PowerShell会话并发出以下命令-
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
如您所见,所有Exchange cmdlet都不起作用。可能是什么问题?
只是为了检查一下,您正在运行会话的用户是否具有运行这些cmdlet的权限?也就是说,您可以直接在服务器上直接运行它们吗?
—
Ben Pilbrow'4
对。它们在同一帐户下的服务器上运行良好。任何类型的远程处理(调用命令或交互式)都会失败。
—
pk。
尝试
—
伯尼·怀特
ImportSystemModules
将已注册的模块加载到当前运行空间中。Exchange cmdlet可能不会自动导入到远程会话/运行空间中。