終端機伺服器工作階段建立失敗

Microsoft.Windows.Server.2008.TerminalServicesRole.Service.TerminalServer.EventCollection.1036 (Rule)

Knowledge Base article:

解決方式

此問題可能表示終端機伺服器上的另一個應用程式與遠端桌面通訊協定 (RDP) 使用相同的 TCP 連接埠。指派給 RDP 的預設連接埠是 3389。

若要解決此問題,請判斷哪個應用程式與 RDP 使用相同的連接埠。如果您無法變更該應用程式的連接埠指派,請透過編輯登錄,變更指派給 RDP 的連接埠。編輯登錄之後,您必須重新啟動終端機服務。重新啟動終端機服務之後,您應該確認 RDP 連接埠是否已經正確變更。

若要執行上述工作,請參閱下列各節。

判斷哪個應用程式與 RDP 使用相同的連接埠

您可以執行 netstat 工具來判斷終端機伺服器上是否有另一個應用程式正在使用連接埠 3389 (或指派的 RDP 連接埠)。

若要使用 netstat:

若要判斷哪個應用程式正在使用連接埠 3389 (或指派的 RDP 連接埠),請使用 tasklist 命令列工具搭配 netstat 工具所提供的 PID 資訊。

變更指派給 RDP 的連接埠

您應該判斷此應用程式是否能夠使用不同的連接埠。如果您無法變更此應用程式的連接埠,就必須變更指派給 RDP 的連接埠。

重要事項:Microsoft 不建議您變更指派給 RDP 的連接埠。

如果您必須變更指派給 RDP 的連接埠,就必須編輯登錄。

若要執行此程序,您必須擁有本機 Administrators 群組的成員資格,或者您必須已經被委派適當的權限。

若要變更指派給 RDP 的連接埠:

注意:不正確地編輯登錄可能會對系統造成嚴重損害。在變更登錄前,您應先備份所有重要的資料。

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations

附註:RDP-TCP 是預設連線名稱。若要在終端機伺服器上變更特定連線的連接埠,請選取 WinStations 機碼底下的連線。

重新啟動終端機服務

若要讓 RDP 連接埠指派變更生效,請停止並啟動終端機服務。

若要執行此程序,您必須擁有本機 Administrators 群組的成員資格,或者您必須已經被委派適當的權限。

若要停止並啟動終端機服務:

確認 RDP 連接埠是否已變更

若要確認 RDP 連接埠指派是否已變更,請使用 netstat 工具。

若要使用 netstat:

重要事項:根據預設,遠端桌面連線和終端機伺服器 Web 用戶端會使用連接埠 3389 來連線到終端機伺服器。如果您變更了終端機伺服器的 RDP 連接埠,就必須修改遠端桌面連線和終端機伺服器 Web 用戶端所使用的連接埠。相關資訊,請參閱下列 Microsoft 知識庫文件編號:

Element properties:

TargetMicrosoft.Windows.Server.2008.TerminalServicesRole.Service.TerminalServer
CategoryEventCollection
EnabledTrue
Event_ID1036
Event SourceMicrosoft-Windows-TerminalServices-RemoteConnectionManager
Alert GenerateTrue
Alert SeverityError
Alert PriorityNormal
RemotableTrue
Alert Message
終端機伺服器工作階段建立失敗
{0}
Event LogSystem

Member Modules:

ID Module Type TypeId RunAs 
DS DataSource Microsoft.Windows.EventProvider Default
Alert WriteAction System.Health.GenerateAlert Default

Source Code:

<Rule ID="Microsoft.Windows.Server.2008.TerminalServicesRole.Service.TerminalServer.EventCollection.1036" Enabled="onStandardMonitoring" Target="Microsoft.Windows.Server.2008.TerminalServicesRole.Service.TerminalServer" ConfirmDelivery="true" Remotable="true" Priority="Normal" DiscardLevel="100">
<Category>EventCollection</Category>
<DataSources>
<DataSource ID="DS" TypeID="Windows!Microsoft.Windows.EventProvider">
<ComputerName>$Target/Host/Host/Property[Type="Windows!Microsoft.Windows.Computer"]/NetworkName$</ComputerName>
<LogName>System</LogName>
<Expression>
<And>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery Type="UnsignedInteger">EventDisplayNumber</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value Type="UnsignedInteger">1036</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery Type="String">PublisherName</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value Type="String">Microsoft-Windows-TerminalServices-RemoteConnectionManager</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
</And>
</Expression>
</DataSource>
</DataSources>
<WriteActions>
<WriteAction ID="Alert" TypeID="SystemHealth!System.Health.GenerateAlert">
<Priority>1</Priority>
<Severity>2</Severity>
<AlertName/>
<AlertDescription/>
<AlertOwner/>
<AlertMessageId>$MPElement[Name="Microsoft.Windows.Server.2008.TerminalServicesRole.Service.TerminalServer.EventCollection.1036.AlertMessage"]$</AlertMessageId>
<AlertParameters>
<AlertParameter1>$Data/EventDescription$</AlertParameter1>
</AlertParameters>
<Suppression>
<SuppressionValue>$Data/LoggingComputer$</SuppressionValue>
</Suppression>
<Custom1/>
<Custom2/>
<Custom3/>
<Custom4/>
<Custom5/>
<Custom6/>
<Custom7/>
<Custom8/>
<Custom9/>
<Custom10/>
</WriteAction>
</WriteActions>
</Rule>