Erro de Conexão de Proxy do Servidor de Federação

Microsoft.ActiveDirectoryFederationServices20.FederationServerProxyToServerCommunicationMonitor (UnitMonitor)

Knowledge Base article:

Resumo

O proxy do servidor de federação não pode contatar o servidor de federação. Este monitor é executado no proxy do servidor de federação em intervalos definidos para verificar se há atualizações nos metadados de federação do servidor de federação em https://< nome do host>/FederationMetadata/2007-06/FederationMetadata.xml.

Se o proxy do servidor de federação puder obter metadados de federação do servidor de federação, o monitor será alterado para um estado Verde e o alerta crítico original será resolvido automaticamente.

Causas

Isso pode significar que o serviço do Windows AD FS 2.0 parou no servidor de federação. Verifique a guia Contexto do Alerta para obter mais informações.

Resoluções

Verifique se o serviço do Windows AD FS 2.0 foi iniciado no servidor de federação remoto e se esse servidor pode ser alcançado. Para obter mais informações, consulte a seção sobre como verificar se o AD FS está instalado e em execução e a seção sobre como verificar a conectividade de rede no Guia de Solução de Problemas do AD FS 2.0.

Element properties:

TargetMicrosoft.ActiveDirectoryFederationServices20.FederationServerProxy
Parent MonitorSystem.Health.AvailabilityState
CategoryAvailabilityHealth
EnabledTrue
Alert GenerateTrue
Alert SeverityError
Alert PriorityNormal
Alert Auto ResolveTrue
Monitor TypeMicrosoft.ActiveDirectoryFederationServices20.TwoStateScriptMonitorType
RemotableTrue
AccessibilityPublic
Alert Message
Erro de Conexão de Proxy do Servidor de Federação
O proxy do servidor de federação não pode contatar o servidor de federação. Verifique a guia Contexto do Alerta para obter mais detalhes.
RunAsDefault

Source Code:

<UnitMonitor ID="Microsoft.ActiveDirectoryFederationServices20.FederationServerProxyToServerCommunicationMonitor" Accessibility="Public" Enabled="true" Target="Microsoft.ActiveDirectoryFederationServices20.FederationServerProxy" ParentMonitorID="Health!System.Health.AvailabilityState" Remotable="true" Priority="Normal" TypeID="Microsoft.ActiveDirectoryFederationServices20.TwoStateScriptMonitorType" ConfirmDelivery="false">
<Category>AvailabilityHealth</Category>
<AlertSettings AlertMessage="Microsoft.ActiveDirectoryFederationServices20.FederationServerProxyToServerCommunicationMonitor_AlertMessageResourceID">
<AlertOnState>Error</AlertOnState>
<AutoResolve>true</AutoResolve>
<AlertPriority>Normal</AlertPriority>
<AlertSeverity>Error</AlertSeverity>
</AlertSettings>
<OperationalStates>
<OperationalState ID="Success" MonitorTypeStateID="Success" HealthState="Success"/>
<OperationalState ID="Error" MonitorTypeStateID="Error" HealthState="Error"/>
</OperationalStates>
<Configuration>
<PowerShellPath>%windir%\system32\windowspowershell\v1.0\powershell.exe</PowerShellPath>
<ScriptName>FederationServerProxyToServerCommunicationCheck.ps1</ScriptName>
<ScriptBody><Script> $proxyWMIObject = (Get-WmiObject -Namespace root\ADFS -Class ProxyService)

$scomapi = new-object -comObject "MOM.ScriptAPI"
$scomapi.LogScriptEvent("ActiveDirectoryFederationServices", 300, 4, "Proxy to server connectivity PowerShell monitoring script")
$fullHostName = "https://" + $proxyWMIObject.HostName + ":" + $proxyWMIObject.HostHttpsPort + "/FederationMetadata/2007-06/FederationMetadata.xml"
$forwardProxyAddress = $proxyWMIObject.ForwardHttpProxyAddress
$script:serverReachable = $true
$script:exceptionMessage = ""

[System.Net.WebResponse] $webResponse = $null;
#try
&amp;{
[System.Net.WebRequest] $webRequest = [System.Net.WebRequest]::Create( $fullHostName )
if( [String]::IsNullOrEmpty( $forwardProxyAddress ) -eq $false )
{
$webRequest.Proxy = new [System.Net.WebProxy] $forwardProxyAddress, $true
}
$webResponse = $webRequest.GetResponse()
}
trap [System.Exception]
{
$script:serverReachable = $false
$script:exceptionMessage = $_.Exception.Message
continue
}

if ( $null -ne $webResponse )
{
$webResponse.Close()
}

$scompb = $scomapi.CreatePropertyBag()
$scompb.AddValue("ServerReachable", $script:serverReachable )
$scompb.AddValue("ErrorMessage", $script:exceptionMessage )
$scomapi.AddItem($scompb)
$scomapi.ReturnItems() </Script></ScriptBody>
<IntervalSeconds>300</IntervalSeconds>
<TimeoutSeconds>180</TimeoutSeconds>
<ErrorExpression>
<SimpleExpression>
<ValueExpression>
<XPathQuery Type="String">Property[@Name='ServerReachable']</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value Type="String">false</Value>
</ValueExpression>
</SimpleExpression>
</ErrorExpression>
<SuccessExpression>
<SimpleExpression>
<ValueExpression>
<XPathQuery Type="String">Property[@Name='ServerReachable']</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value Type="String">true</Value>
</ValueExpression>
</SimpleExpression>
</SuccessExpression>
</Configuration>
</UnitMonitor>