2017-03-17 94 views
0

如何在不安装Exchange命令行管理程序的情况下调用Exchange命令以获取标准域计算机上的邮箱信息?如何在所有域计算机上使用I Exchange命令?

  • 通过RDP直接在远程Exchange服务器上运行PowerShell。
  • 在本地计算机上调用命令到远程Exchange Server。
  • 本地计算机上的Exchange服务器的导入命令。

回答

0

我写了一个脚本来使用localy all exchange 2010+命令,而无需安装交换工具。

使用像

Import-ExchTools 'MyDomain' 
get-mailbox $(whoami) 

包括在脚本

function Get-RmExchSession ($AD='MyDomain') { 
    Get-PSSession | Remove-PSSession 
    $SrvBlackList = @('vexchmb7','vexchmb6', 'vexchtopt1') 
     $PoolExch = $(
       (Get-ADGroupMember -server $AD 'Exchange Servers') | ?{$_.objectClass -eq 'computer'} | ?{$_.Name -and $SrvBlackList -notcontains $_.name} | Sort-Object -Descending CreationDate | %{ 
        [pscustomobject][ordered]@{ 
         name = $_.Name 
         dNSHostName = "$($_.Name).$AD.adds" 
        } 
       } 
     ) 

    foreach ($exch in $PoolExch) { 
     $ExchSession = $null 
     #Write-Host $Exch.dNSHostName -nonewline 
     if (Test-connexion $Exch.dNSHostName) { 
      # on se connecte au dernier Srv exchange mis en place, le plus ressant 
      # ne fonctionne pas sur les AD avec approbation unidirectionnele, il faut le credential ADMIN 
      $ExchSession = New-PSSession -ConfigurationName Microsoft.Exchange -ConnectionUri "http://$($Exch.dNSHostName)/PowerShell/" -ea SilentlyContinue 

      if ($ExchSession) { 
       #Write-Host " Session OK" -fore Green 
       return $ExchSession 
      } else { 
       Write-host " Impossible de se connecter avec le Current Credential, tentative avec '$AD\Administrateur'" -fore Red -NoNewline 
      } 
     } 
    } 
    $null 
} 

function Import-ExchTools ($AD='MyDomain') { 
    $exchSess = (Get-RmExchSession $AD) 
    if ($exchSess) { 
     Import-PSSession $exchSess -wa 0 | Out-Null 
     $exchSess 
    } 
    return $null 
} 
相关问题