我正在尝试在全新安装的 Server 2008 上安装 Exchange 2010。我相信我已经正确配置了所有服务器角色和功能,但是我收到此错误:
摘要:12 项。0 项成功,1 项失败。耗时:00:04:07
组织准备失败
错误:当“$error.Clear();”时产生了以下错误
$acceptedDomains = @{};
Get-AcceptedDomain | foreach {
$domainName = $_.DomainName.ToString();
if ($acceptedDomains.Contains($domainName)) {
Write-ExchangeSetupLog -Warning "Duplicate AcceptedDomain found. '$($acceptedDomains[$domainName])' and '$($_.Name)' both reference domain '$domainName'";
} else {
$acceptedDomains.Add($domainName, $_.Name);
};
};
function getSmtpTemplates ([string]$property)
{
$input |
Select-Object -ExpandProperty $property |
Where-Object {$_.PrefixString -eq "SMTP"} |
Foreach-Object {$_.AddressTemplateString -replace ".*@", ""};
}
function addDomains ([Microsoft.Exchange.Data.Directory.SystemConfiguration.AcceptedDomainType]$domainType)
{
$domain = $null;
$input |
Where-Object {-not $acceptedDomains.ContainsKey($_)} |
Where-Object {[Microsoft.Exchange.Data.SmtpDomainWithSubdomains]::TryParse($_, [ref] $domain)} |
Foreach-Object {
$name = $domain.ToString();
if ($name.Length -gt 64) { $name = $name.Substring(0, 64) };
if ($acceptedDomains.ContainsValue($name) ) {$name = [System.Guid]::NewGuid().ToString()};
new-AcceptedDomain -Name:$name -DomainName:$domain -DomainType:$domainType;
$acceptedDomains[$domain.ToString()] = $name;
};
}
$emailAddressPolicies = Get-EmailAddressPolicy;
$emailAddressPolicies | getSmtpTemplates "NonAuthoritativeDomains" | addDomains "InternalRelay";
$emailAddressPolicies | getSmtpTemplates "EnabledEmailAddressTemplates" | addDomains "Authoritative";
" was run: "The property value is invalid. The value can't contain leading or trailing whitespace. Property Name: Name".
属性值无效。该值不能包含前导或尾随空格。属性名称:名称 耗时:00:04:07
任何帮助将不胜感激!
答案1
在 Exchange 2003 中,打开 Exchange 系统管理器,导航到收件人 > 收件人策略,找到结尾有空格的收件人策略(默认策略除外)。右键单击该策略并选择重命名,删除其名称后的空格。
这个尾随的空格是导致此问题的原因。
答案2
这是 Exchange 2007 中的一个已知问题,其中一个收件人策略中的 DN 包含恶意空格。
看看这个http://technet.microsoft.com/en-us/library/dd233089(EXCHG.80).aspx并使用 ADSIedit 查看您的策略中有什么。