Exchange 2010

Fra NørderiWiki
Skift til: Navigation, Søgning

Installere

Exchange 2010 Install on Server 2008 R2

How to Install Exchange Server 2010 Beta

Installing Exchange Server 2010 (Beta) (Part 1)

Anti spam (Hub transport)

Install Anti-spam Agents on the Hub Transport server

Enable Anti-Spam Functionality on a Hub Transport Server

./install-AntispamAgents.ps1 Restart-Service MSExchangeTransport

EMS:

set-recipientfilterconfig -RecipientValidationEnabled $true

set-senderfilterconfig -BlockedSenders @() -BlockedDomains @() -BlockedDomainsAndSubdomains @() -BlankSenderBlockingEnabled $true

set-contentfilterconfig -SCLRejectThreshold '5' -SCLDeleteThreshold '7' -SCLDeleteEnabled $true

add-IPBlockListProvider -Name 'zen.spamhaus.org' -LookupDomain 'zen.spamhaus.org' -Enabled $true -BitmaskMatch $null -IPAddressesMatch @() -AnyMatch $true
-Priority '1' -RejectionResponse ''
add-IPBlockListProvider -Name 'dnsbl.sorbs.net' -LookupDomain 'dnsbl.sorbs.net' -Enabled $true -BitmaskMatch $null -IPAddressesMatch @() -AnyMatch $true
-Priority '2' -RejectionResponse ''
add-IPBlockListProvider -Name 'bl.spamcop.net' -LookupDomain 'bl.spamcop.net' -Enabled $true -BitmaskMatch $null -IPAddressesMatch @() -AnyMatch $true -Priority '3'
-RejectionResponse ''
add-IPBlockListProvider -Name 'dnsbl-1.uceprotect.net' -LookupDomain 'dnsbl-1.uceprotect.net' -Enabled $true -BitmaskMatch $null -IPAddressesMatch @()
-AnyMatch $true -Priority '4' -RejectionResponse ''

Shared hosting

Forudsætter Exchange 2010 er installeret på Windows 2008 R2 Server. Der bliver ikke forklaret hvorfor du skal gøre som vist, dette er kun som "vi" sætter det op og ved der virker. Hvis du vil læse lidt mere forklaring så tjek msexchange.org lidt længere nede.

Bemærk! Med SP1 og 2 er der kommet bedre muligheder for hosting, hosting mode og gal segmentation. Jeg har ikke selv testet dette af, da vi er gået over til Office 365

Mangler:

  • Offline Adresse Book

ToDo:

  • Ændre til at bruge Company
  • Lave nemt bruger oprettelses script

Forberede Exchange til hosting

Ændre dsHeuristics

Åben ADSIEdit
->
CN=Configuration
->
CN=Services
->
CN=Windows NT
->
CN=Directory Service.
->
Højre klik på CN=Directory Service vælg Properties.
->
Vælg attribute dsHeuristics
->
Ændret den til 001, hvis der står <not set>, ellers kun ændre det sidste tal til 1.

Klik OK og luk Properties.

Fjerne adresselister

Exchange Mangement Console -> Organization Configuration -> Mailbox -> Address Lists

Exchange Mangement Shell

remove-addresslist "All Contacts"
remove-addresslist "All Groups"
remove-addresslist "All Rooms"
remove-addresslist "All Users"
remove-addresslist "Public Folders"

Default Global Address List kan ikke slettes.

Gemme adresse lister i AD

Modifying Permissions for the Address Lists Containers

Nu skal der ændres nogle ting i AD som Microsoft ikke anbefaler eller supportere.
(Hvis dette kan gøres med PowerShell ville det være dejligt)
For at gøre det nemt, så læs fra "Modifying Permissions for the Address Lists Containers" til Figure 10, Punkt 4, for så forsætter vi her:

$container = "CN=All Global Address Lists,CN=Address Lists Container,CN=My Organization,CN=Microsoft Exchange,CN=Services,CN=Configuration,DC=mydomain,DC=local"
Add-ADPermission -Identity $container -User "Authenticated Users" -AccessRights ListObject

$container = "CN=All Address Lists,CN=Address Lists Container,CN=My Organization,CN=Microsoft Exchange,CN=Services,CN=Configuration,DC=mydomain,DC=local"
Add-ADPermission -Identity $container -User "Authenticated Users" -AccessRights ListObject

$container = "CN=Offline Address Lists,CN=Address Lists Container,CN=My Organization,CN=Microsoft Exchange,CN=Services,CN=Configuration,DC=mydomain,DC=local"
Add-ADPermission -Identity $container -User "Authenticated Users" -AccessRights ListObject

Kan ikke gennemskue om det herover er nødvendigt.

Oprette grupper i AD

I Active Directory Users and Computers, opret ny OU, "Hosting", under denne oprettes de forskellige kunder der skal køre på Exchangen.

Under Hosting OU laver du igen en OU, "FirmaEt", under denne laves igen 2 OU'er "Groups" og "Users".
Gentag dette for alle de kunder der skal køre på systemet.

Active Directory Module for Windows PowerShell

New-ADOrganizationalUnit -Name Hosting -Path "DC=MyDomain,DC=local"
New-ADOrganizationalUnit -Name FirmaEt -Path "OU=Hosting,DC=MyDomain,DC=local"
New-ADOrganizationalUnit -Name Groups -Path "OU=FirmaEt,OU=Hosting,DC=MyDomain,DC=local"
New-ADOrganizationalUnit -Name Users -Path "OU=FirmaEt,OU=Hosting,DC=MyDomain,DC=local"

Oprette firma

Tilføje UPN suffixes

Tilføj UPN for de domæner der skal hostes, til brug under logon.

Active Directory Domains and Trusts -> Højre klik på Active Directory Domains and Trusts -> Properties, Tilføj domænet der.

AD PowerShell

$usn = "FirmaEt.dk"
$root = [ADSI]"LDAP://rootDSE"
$conf = [ADSI]"LDAP://cn=partitions,$($root.configurationNamingContext)"
$conf.uPNSuffixes += $usn
$conf.SetInfo()

Ny kunde adresse liste

EMS

Exchange Management Shell command completed:

new-AddressList -Name 'FirmaEt AL' -RecipientContainer 'MyDomain.local/Hosting/FirmaEt/Users' -IncludedRecipients 'MailboxUsers'
-ConditionalCustomAttribute1 'FirmaEt' -Container '\' -DisplayName 'FirmaEt'

Ny kunde Global Adresse liste

Kan ikke laves i GUI.

New-GlobalAddressList -Name "FirmaEt GAL" -ConditionalCustomAttribute1 "FirmaEt" -IncludedRecipients AllRecipients

Ny kunde accepted mail domain

Organization Configuration
->
Hub Transport
->
Klik på New accepted domain.
->
Skrive domæne navnet.
->
Vælg Authoritiative domain (den øverste).
->
Klik New.

EMS

new-AcceptedDomain -Name 'FirmaEt' -DomainName 'FirmaEt.dk' -DomainType 'Authoritative'

E-mail Address policy

EMS

new-EmailAddressPolicy -Name 'FirmaEt EAP' -RecipientContainer 'MyDomain.local/Hosting/FirmaEt' -IncludedRecipients 'AllRecipients'
-ConditionalCustomAttribute1 'FirmaEt' -Priority 'Lowest' -EnabledEmailAddressTemplates 'SMTP:%m@FirmaEt.dk'

Company

new-EmailAddressPolicy -Name 'FirmaEt EAP' -RecipientContainer 'MyDomain.local/Hosting/FirmaEt' -IncludedRecipients 'AllRecipients' -ConditionalCompany 'FirmaEt' -Priority 'Lowest' -EnabledEmailAddressTemplates 'SMTP:%m@mFirmaEt.dk'

Distribution Group

EMS

new-DistributionGroup -Name 'FirmaEt-mail' -Type 'Security' -OrganizationalUnit 'MyDomain.local/Hosting/FirmaEt/Groups' -SamAccountName 'FirmaEt-mail'
-Alias 'FirmaEt-mail'
Set-DistributionGroup -BypassSecurityGroupManagerCheck -CustomAttribute1 'FirmaEt' -Identity 'MyDomain.local/Hosting/FirmaEt/Groups/FirmaEt-mail'

Give tilladelse til kundens adresse liste EMS

Nu da kundens adresselister er oprettet, skal adgangen for alle kunderne til dem fjernes, og dette gøres i ADSI Edit.
Gå til Configuration -> CN=Configuration,DC=domain,DC=local -> CN=Services -> CN=Microsoft Exchange -> CN=domain -> CN=Address Lists Container -> CN=All Address Lists, højre klik på CN=RTK AL og vælg Properties.
Gå til Security fanen, klik på Advanced og fravælg Include inheritable permissions from this object's parent. På advarselen der kommer klik på Add, og OK, og klik Yes på de 2 næste advarsler.
Tilbage på Security fanen fjern Authenticated Users, og klik OK.
Dette skal gentages for alle kunders adresse lister under All Global Address Lists og evt. andre.

Derefter:

$container = "CN=FirmaEt GAL,CN=All Global Address Lists,CN=Address Lists Container,CN=My Organization,CN=Microsoft Exchange,CN=Services,CN=Configuration,
DC=mydomain,DC=local"
Add-ADPermission $container -User "FirmaEt-mail" -AccessRights GenericRead, ListChildren -ExtendedRights Open-Address-Book

$container = "CN=FirmaEt AL,CN=All Address Lists,CN=Address Lists Container,CN=My Organization,CN=Microsoft Exchange,CN=Services,CN=Configuration,DC=mydomain,DC=local"
Add-ADPermission $container -User "FirmaEt-mail" -AccessRights GenericRead, ListChildren -ExtendedRights Open-Address-Book

addressBookRoots

For de andre lister skal vi ind i ADSI Edit igen, højre klik på RTK AL og vælg Properties, find distinguishedName i listen, tryk på View, kopiere indholdet i boksen, "CN=FirmaEt AL,CN=All Address Lists,CN=Address Lists Container,CN=domain,CN=Microsoft Exchange,CN=Services,CN=Configuration,DC=domain,DC=local",
luk boksen igen og gå til CN=Microsoft Exchange, CN=Services, CN=Configuration, DC=kmhost, DC=local.
Højre klik på CN=Microsoft Exchange, vælg Properties, find addressBookRoots og indsæt den streng der blev kopiered før i listen.
Gentag dette for hver kunde.

Oprette brugere

Hvis du har oprettet brugere, så brug ADModify til at sætte msExchQueryBaseDN.

EMS

New-Mailbox -Name 'Fornavn Efternavn' -Alias 'FE' -OrganizationalUnit 'MyDomain.local/Hosting/FirmaEt/Users' -UserPrincipalName 'fe@FirmaEt.dk'
-SamAccountName 'FE.FirmaEt' -FirstName 'Fornavn' -Initials '' -LastName 'Efternavn' -Password (ConvertTo-SecureString -AsPlainText -Force -String PassW0rd)
-ResetPasswordOnNextLogon $false

Set-Mailbox -CustomAttribute1 'FirmaEt' -Identity 'MyDomain.local/Hosting/FirmaEt/Users/Fornavn Efternavn'

Add-DistributionGroupMember -Identity 'MyDomain.local/Hosting/FirmaEt/Groups/FirmaEt-mail' -Member 'MyDomain.local/Hosting/FirmaEt/Users/Fornavn Efternavn'
-BypassSecurityGroupManagerCheck

$user = ([ADSI]"LDAP://PDC.MyDomain.local/CN=Fornavn Efternavn,OU=Users,OU=FirmaEt,OU=Hosting,DC=MyDomain,DC=local").psbase;
$user.Properties["msExchQueryBaseDN"].Value = "OU=FirmaEt,OU=Hosting,DC=MyDomain,DC=local";
$user.CommitChanges();

Company

New-Mailbox -Name 'Jens' -Alias 'Jens' -OrganizationalUnit 'MyDomain.local/Hosting/FirmaEt/Users' -UserPrincipalName 'jens@FirmaEt.dk' -SamAccountName 'Jens.FirmaEt' -FirstName 'Jens' -Initials '' -LastName '' -Password (ConvertTo-SecureString -AsPlainText -Force -String tK2QBCR6Lt) -ResetPasswordOnNextLogon $false

Add-DistributionGroupMember -Identity 'MyDomain.local/Hosting/FirmaEt/Groups/FirmaEt-mail' -Member 'MyDomain.local/Hosting/FirmaEt/Users/Jens' -BypassSecurityGroupManagerCheck

$user = ([ADSI]"LDAP://PDC.MyDomain.local/CN=Fornavn Efternavn,OU=Users,OU=FirmaEt,OU=Hosting,DC=MyDomain,DC=local").psbase;
$user.Properties["msExchQueryBaseDN"].Value = "OU=FirmaEt,OU=Hosting,DC=MyDomain,DC=local";
$user.CommitChanges();

AD Powershell:
Set-ADUser Jens.FirmaEt -Company 'FirmaEt'

Ekstra

Storage styring

http://www.msexchange.org/articles-tutorials/exchange-server-2007/management-administration/exchange-2007-message-size-limits.html

http://exchangeshare.wordpress.com/2008/04/24/exchange-2007-where-to-set-message-mail-size-limit/

http://technet.microsoft.com/en-us/library/bb124345%28EXCHG.80%29.aspx

http://exchangepedia.com/blog/2007/09/exchange-server-2007-setting-message-size.html

@'
Set-Mailbox -UseDatabaseRetentionDefaults $false -RetainDeletedItemsFor '45.00:00:00' -ProhibitSendQuota '1000 MB (1,048,576,000 bytes)'
-ProhibitSendReceiveQuota '1.001 GB (1,074,790,400 bytes)' -UseDatabaseQuotaDefaults $false -IssueWarningQuota '850 MB (891,289,600 bytes)'
-Identity 'MyDomain.local/Hosting/FirmaEt/Users/Fornavn Efternavn'
'@
Set-Mailbox -MaxSendSize '25 MB (26,214,400 bytes)' -MaxReceiveSize '25 MB (26,214,400 bytes)' -Identity 'MyDomain.local/Hosting/FirmaEt/Users/Fornavn Efternavn'
Set-TransportConfig -MaxReceiveSize '25 MB (26,214,400 bytes)' -MaxSendSize '25 MB (26,214,400 bytes)'
Set-ReceiveConnector -MaxMessageSize '25 MB (26,214,400 bytes)' -Identity 'EXCH\Client EXCH'

Læs mere

[1] [2] [3]

Most notably, on the second part, I didn't have to modify all the OWA stuff to hide the address lists...

[4]

White Paper: Configuring Virtual Organizations and Address List Segregation in Exchange 2007

Microsoft Hosted Messaging and Collaboration

Mere info

Using Disclaimer in Exchange Server 2010

Exchange 2010 Management Architecture – Using a single machine to manage multiple Exchange 2010 Organizations

Managing Exchange 2007 Recipients using the Active Directory Users and Computers MMC Snap-in

Andre gode links

Exchange 2007: Distribution Group – User Unknown Bounceback

Catch-all for 2010 HUB only setup

http://social.technet.microsoft.com/wiki/contents/articles/1629.aspx

Bøger

Exchange Server 2010 Unleashed

Windows Server 2008 R2 Unleashed