Bindungen von Empfangs-Konnektoren anpassen

Es ist manchmal von Vorteil, wenn Empfangs-Konnektoren auf IPs fest gebunden werden.
Z.B. wenn man externen IP-Pools eine andere Berechtigung zuweisten möchten als dem restlichen Internet. Bei einer Hybriden Office 365 Umgebung könnte dies der Fall sein.

Um die Konfiguration zu automatisieren und damit Tippfehlern vorzubeugen, könnte dieses Script zum Einsatz kommen:

$SIPs = (get-NetAdapter -Name Servers |Get-NetIPAddress).IPAddress
$OIPs = (get-NetAdapter -Name O365-Connector |Get-NetIPAddress).IPAddress
$RCs = Get-ReceiveConnector -Server $Env:Computername

$O365 = "Internal Office 365"

$Cs = $RCs | where { $_.Name -ne $O365 } 
foreach($C in $Cs)
{
	$I = @()
	foreach($SIP in $SIPs)
		{
		$I += $SIP + ":" + $C.Bindings[0].Port.ToString()
		}
	$I
	Set-ReceiveConnector -Identity $C.Id -Bindings $I -whatif
}

$Cs = $RCs | where { $_.Name -eq $O365 } 
foreach($C in $Cs)
{
	$I = @()
	foreach($SIP in $OIPs)
		{
		$I += $SIP + ":" + $C.Bindings[0].Port.ToString()
		}
	$I
	Set-ReceiveConnector -Identity $C.Id -Bindings $I -whatif
}

Am Ende von Zeile 16 und 28 sorgt das „-whatif“ dafür, dass man erst mal testen kann!

In diesem Fall hat die NIC für interne Kommunikation den Namen „Servers“ (Zeile 1) und die NIC für Office 365 den Namen „O365-Connector“ (Zeile 2)

Der Office 365 Konnektor heißt hier „Inbound from Office 365“ (Zeile 5)

Die Namen sind natürlich allesamt als Beispiel anzusehen.

 

 

Exchange 2016: Log-Files-Speicherort ändern

Mit folgendem Script werden die meisten, per default aktivierten, Log-Files auf ein anderes Volume gelegt. Im Skript wird davon ausgegeangen, das der Installations-Pfad C:\Program Files\… ist

Der „alte“ Pfad wird in der ersten Zeile Angegeben.
Der Ziel-Pfad kann in der zweiten Zeile angepasst werden.

$Source = "C:\Program Files\Microsoft\Exchange Server\V15\"
$Dest = "D:\Exchange\Logs\"

$Log = Get-TransportService $env:computername | select *logpath

$ConnectivityLogPath = $Log.ConnectivityLogPath.PathName.replace($Source,$Dest)
$MessageTrackingLogPath = $Log.MessageTrackingLogPath.PathName.replace($Source,$Dest)
$IrmLogPath = $Log.IrmLogPath.PathName.replace($Source,$Dest)
$ActiveUserStatisticsLogPath = $Log.ActiveUserStatisticsLogPath.PathName.replace($Source,$Dest)
$ServerStatisticsLogPath = $Log.ServerStatisticsLogPath.PathName.replace($Source,$Dest)
$ReceiveProtocolLogPath = $Log.ReceiveProtocolLogPath.PathName.replace($Source,$Dest)
$RoutingTableLogPath = $Log.RoutingTableLogPath.PathName.replace($Source,$Dest)
$SendProtocolLogPath = $Log.SendProtocolLogPath.PathName.replace($Source,$Dest)
$QueueLogPath = $Log.QueueLogPath.PathName.replace($Source,$Dest)
$GeneralLogPath = $Log.GeneralLogPath.PathName.replace($Source,$Dest)
$WlmLogPath = $Log.WlmLogPath.PathName.replace($Source,$Dest)
$AgentLogPath = $Log.AgentLogPath.PathName.replace($Source,$Dest)

New-Item -itemtype directory -path $ConnectivityLogPath
New-Item -itemtype directory -path $MessageTrackingLogPath
New-Item -itemtype directory -path $IrmLogPath
New-Item -itemtype directory -path $ActiveUserStatisticsLogPath
New-Item -itemtype directory -path $ServerStatisticsLogPath
New-Item -itemtype directory -path $ReceiveProtocolLogPath
New-Item -itemtype directory -path $RoutingTableLogPath
New-Item -itemtype directory -path $SendProtocolLogPath
New-Item -itemtype directory -path $QueueLogPath
New-Item -itemtype directory -path $WlmLogPath
New-Item -itemtype directory -path $AgentLogPath

Set-TransportService $env:computername -ConnectivityLogPath $ConnectivityLogPath -MessageTrackingLogPath $MessageTrackingLogPath -IrmLogPath $IrmLogPath -ActiveUserStatisticsLogPath $ActiveUserStatisticsLogPath -ServerStatisticsLogPath $ServerStatisticsLogPath -ReceiveProtocolLogPath $ReceiveProtocolLogPath -RoutingTableLogPath $RoutingTableLogPath -SendProtocolLogPath $SendProtocolLogPath -QueueLogPath $QueueLogPath -WlmLogPath $WlmLogPath -AgentLogPath $AgentLogPath

$Log = Get-Mailboxserver $env:computername | select *logpath*

$CalendarRepairLogPath = $Log.CalendarRepairLogPath.PathName.replace($Source,$Dest)
$LogPathForManagedFolders = $Log.LogPathForManagedFolders.PathName.replace($Source,$Dest)

New-Item -itemtype directory -path $CalendarRepairLogPath 
New-Item -itemtype directory -path $LogPathForManagedFolders

Set-Mailboxserver $env:computername -CalendarRepairLogPath $CalendarRepairLogPath -LogPathForManagedFolders $LogPathForManagedFolders

 

Exchange2013 – Adressbücher

Adressbuchrichtlinien sind ein praktisches Hilfsmittel, wenn man mehrere Organisationen mit einer Exchange-Umgebung bedient.

Dabei kann es unerwünscht sein, dass die unterschiedlichen Organisationen die Adressbucheinträge der anderen Organisationen sehen.

Hier nun eine Beispielkonfiguration für 3 Organisationen. „Exchange2013 – Adressbücher“ weiterlesen

Exchange Monitoring (ver 1.2.2)

Einfaches Monitoring von einer Exchange-Umgebung ( Jetzt auch für Exhcange 2013/6 )

Folgendes wird überprüft:

  • Dienst die auf Automatisches Starten eingestellt sind
  • Festplatten (leerer Speicherplatz)
  • Queues
  • Clusterresourcen
    • Dieser Test wird nur noch durchgeführt, wenn die entsprechende Rolle auf dem lokalem System installiert ist.
  • Zertifikate (Ablaufdatum)

„Exchange Monitoring (ver 1.2.2)“ weiterlesen