此对象监视虚拟桌面的管理。
分配为个人虚拟桌面或分配给虚拟桌面池的虚拟桌面使用 Hyper-V 管理器进行管理。
若要解决此问题,请检查事件 ID,然后在下面的内容中查看有关该事件的疑难解答信息。
适用于下列事件 ID 的解决步骤: 4878
您可以使用 Hyper-V 管理器确保虚拟桌面存在。
要执行此过程,您必须是 Administrators 组的成员,或者被委派了适当的权限。
若要确保虚拟桌面存在,请执行以下操作:
1. 在 RD 虚拟化主机服务器上,打开 Hyper-V 管理器。要打开 Hyper-V 管理器,请单击“开始”,指向“管理工具”,然后单击“Hyper-V 管理器”。
2. 在左窗格中,单击 RD 虚拟化主机服务器。
3. 在“虚拟机”下,请确保存在虚拟桌面。
适用于以下事件 ID 的解决步骤:4608
若要确定如何修复此错误状态,请检查事件消息文本中报告的错误代码。
事件消息可能报告下列错误代码:
RPC_S_SERVER_UNAVAILABLE (800706ba)
E_ACCESSDENIED (80070005)
要执行这些过程,您必须是 Administrators 组的成员,或者被委派了适当的权限。
RPC_S_SERVER_UNAVAILABLE (800706ba)
若要解决此问题,您应该启用远程 RPC 并确保允许远程服务管理通过 Windows 防火墙。
若要启用远程 RPC,请执行以下操作:
1. 在虚拟桌面计算机上,打开注册表编辑器。要打开注册表编辑器,请依次单击“开始”、“运行”,键入 regedit.exe,然后按 ENTER。
2. 导航到 HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\TerminalServer。
3. 双击“AllowRemoteRPC”注册表项;在“值数据”框中键入 1,然后单击“确定”。
4. 关闭注册表编辑器。
5. 如果这不能解决问题,请使用名为“确保允许远程服务管理通过 Windows 防火墙”的过程。
可以使用 Windows 防火墙控制台允许远程服务管理通过 Windows 防火墙。
若要确保允许远程服务管理通过 Windows 防火墙,请执行以下操作:
1. 在虚拟桌面计算机上,打开 Windows 防火墙控制台。若要打开 Windows 防火墙控制台,请依次单击“开始”、“控制面板”、“系统和安全”和“允许程序通过 Windows 防火墙”。
2. 选中“远程服务管理”复选框,然后单击“确定”。
E_ACCESSDENIED (8007005)
若要解决此问题,您应该启用远程桌面,向虚拟桌面的 Remote Desktop Users 安全组中添加相应的用户帐户,然后添加相应的 RDP 协议权限。
若要启用远程桌面,请执行以下操作:
1. 在虚拟桌面上,打开“系统”控制面板。若要打开“系统”控制面板,请单击“开始”,右键单击“计算机”,然后单击“属性”。
2. 单击“远程设置”。
3. 单击以下选项之一:
4. 如果您想强制执行网络级别身份验证,请单击“只允许运行带网络级身份验证的远程桌面的计算机连接(更安全)”选项。
5. 如果您不想强制执行网络级别身份验证,单击“允许运行任意版本远程桌面的计算机连接(较不安全)”选项。
6. 单击“确定” 以关闭“系统属性”对话框。
7. 如果问题没有得到解决,请使用名为“向虚拟桌面的 Remote Desktop Users 安全组中添加相应的用户帐户”的过程。
您可以使用“本地用户和组”控制台向 Remote Desktop Users 安全组中添加用户帐户。
若要向虚拟桌面的 Remote Desktop Users 安全组中添加相应的用户帐户,请执行以下操作:
1. 在虚拟桌面上,单击“开始”,键入 lusrmgr.msc,然后按 ENTER。
2. 单击“组”。
3. 右键单击“Remote Desktop Users”,然后单击“添加到组”。
4. 单击“添加”。
5. 在“选择用户、计算机、服务帐户或组”对话框的“输入要选择的对象名称”框中,键入用户帐户的名称,然后单击“确定”。
6. 单击“确定”以关闭“Remote Desktop Users 属性”对话框。
7. 如果问题没有得到解决,请使用名为“添加相应的 RDP 协议权限”的过程。
您必须使用提升的命令提示符添加相应的 RDP 协议权限。
若要添加相应的 RDP 协议权限,请执行以下操作:
1. 在虚拟桌面上,打开提升的命令提示符。若要打开提升的命令提示符,依次单击“开始”、“所有程序”和“附件”,右键单击“命令提示符”,然后单击“以管理员身份运行”。
键入下列命令,其中 domain 是域的名称,server 是 RD 虚拟化主机服务器的名称:
wmic /node:localhost RDPERMISSIONS where TerminalName="RDP-Tcp" CALL AddAccount "domain\server$",1
wmic /node:localhost RDACCOUNT where "(TerminalName='RDP-Tcp' or TerminalName='Console') and AccountName='domain\\server$'" CALL ModifyPermissions 0,1
wmic /node:localhost RDACCOUNT where "(TerminalName='RDP-Tcp' or TerminalName='Console') and AccountName='domain\\server$'" CALL ModifyPermissions 2,1
wmic /node:localhost RDACCOUNT where "(TerminalName='RDP-Tcp' or TerminalName='Console') and AccountName='domain\\server$'" CALL ModifyPermissions 9,1
适用于下列事件 ID 的解决步骤:4877
仅当使用脚本配置虚拟桌面的 SaveDelay 属性时才会发生此问题。确保已正确配置脚本,然后尝试重新运行脚本。
适用于下列事件 ID 的解决步骤:4876
仅当使用脚本配置虚拟桌面的 GuestOSEnlightened 属性时才会发生此问题。确保已正确配置脚本,然后尝试重新运行脚本。
适用于下列事件 ID 的解决步骤: 4872
若要解决此问题,请执行以下操作:
重新启动Remote Desktop Connection Broker 服务。
重新启动Remote Desktop Virtualization Host Agent服务。
要执行这些过程,您必须是 Administrators 组的成员,或者被委派了适当的权限。
重新启动Remote Desktop Connection Broker 服务
可以使用“服务”控制台重新启动Remote Desktop Connection Broker 服务。
若要重新启动Remote Desktop Connection Broker 服务,请执行以下操作:
1. 在 RD 连接 Broker 服务器上,单击“开始”, 指向“管理工具”,然后单击“服务”。
2. 右键单击“Remote Desktop Connection Broker”,指向“所有任务”,然后单击“重新启动”。
重新启动Remote Desktop Virtualization Host Agent服务
可以使用“服务”控制台重新启动Remote Desktop Virtualization Host Agent服务。
若要重新启动Remote Desktop Virtualization Host Agent服务,请执行以下操作:
1. 在 RD 虚拟化主机服务器上,单击“开始”,指向“管理工具”,然后单击“服务”。
2. 右键单击“Remote Desktop Virtualization Host Agent”,指向“所有任务”,然后单击“重新启动”。
适用于下列事件 ID 的解决步骤: 4875
仅当使用脚本配置虚拟桌面的 Exclude 属性时才会发生此问题。Exclude 属性必须设置为 True 或 False。
适用于下列事件 ID 的解决步骤:4868、4869
如果将“SaveDelay”属性设置为 True,但 Hyper-V 无法保存虚拟桌面,则会出现该问题。
使用 Hyper-V 疑难解答过程进一步诊断问题 ( http://technet.microsoft.com/en-us/library/dd578337(WS.10).aspx)。
Target | Microsoft.Windows.Server.10.0.RemoteDesktopServicesRole.Service.RDVirtualizationHost | ||
Parent Monitor | System.Health.AvailabilityState | ||
Category | Custom | ||
Enabled | True | ||
Alert Generate | True | ||
Alert Severity | MatchMonitorHealth | ||
Alert Priority | High | ||
Alert Auto Resolve | True | ||
Monitor Type | Microsoft.Windows.2SingleEventLogManualReset3StateMonitorType | ||
Remotable | True | ||
Accessibility | Public | ||
Alert Message |
| ||
RunAs | Default |
<UnitMonitor ID="Microsoft.Windows.Server.10.0.RemoteDesktopServices.NewUnitMonitor_5" Accessibility="Public" Enabled="true" Target="Microsoft.Windows.Server.10.0.RemoteDesktopServicesRole.Service.RDVirtualizationHost" ParentMonitorID="SystemHealth!System.Health.AvailabilityState" Remotable="true" Priority="Normal" TypeID="Windows!Microsoft.Windows.2SingleEventLogManualReset3StateMonitorType" ConfirmDelivery="true">
<Category>Custom</Category>
<AlertSettings AlertMessage="Microsoft.Windows.Server.10.0.RemoteDesktopServices.NewUnitMonitor_5_AlertMessageResourceID">
<AlertOnState>Warning</AlertOnState>
<AutoResolve>true</AutoResolve>
<AlertPriority>High</AlertPriority>
<AlertSeverity>MatchMonitorHealth</AlertSeverity>
<AlertParameters>
<AlertParameter1>$Data/Context/EventDisplayNumber$</AlertParameter1>
<AlertParameter2>$Data/Context/EventDescription$</AlertParameter2>
</AlertParameters>
</AlertSettings>
<OperationalStates>
<OperationalState ID="UIGeneratedOpStateIdbed6c28efd2e425dacd10c9e9624fd52" MonitorTypeStateID="ManualResetEventRaised" HealthState="Success"/>
<OperationalState ID="UIGeneratedOpStateId8fd6efab9e3847ff84f0269a577c05b6" MonitorTypeStateID="SecondEventRaised" HealthState="Warning"/>
<OperationalState ID="UIGeneratedOpStateIdde6a0bfc4a4348b8bc38d122e2376144" MonitorTypeStateID="FirstEventRaised" HealthState="Error"/>
</OperationalStates>
<Configuration>
<FirstComputerName>$Target/Host/Host/Property[Type="Windows!Microsoft.Windows.Computer"]/NetworkName$</FirstComputerName>
<FirstLogName>Microsoft-Windows-TerminalServices-TSV-VmHostAgent/Admin</FirstLogName>
<FirstExpression>
<And>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery Type="String">Channel</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value Type="String">Microsoft-Windows-TerminalServices-TSV-VmHostAgent/Admin</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
<Expression>
<Or>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery Type="UnsignedInteger">EventDisplayNumber</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value Type="UnsignedInteger">4872</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery Type="UnsignedInteger">EventDisplayNumber</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value Type="UnsignedInteger">4868</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery Type="UnsignedInteger">EventDisplayNumber</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value Type="UnsignedInteger">4875</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery Type="UnsignedInteger">EventDisplayNumber</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value Type="UnsignedInteger">4874</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery Type="UnsignedInteger">EventDisplayNumber</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value Type="UnsignedInteger">4876</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery Type="UnsignedInteger">EventDisplayNumber</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value Type="UnsignedInteger">4877</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery Type="UnsignedInteger">EventDisplayNumber</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value Type="UnsignedInteger">4873</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery Type="UnsignedInteger">EventDisplayNumber</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value Type="UnsignedInteger">4878</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery Type="UnsignedInteger">EventDisplayNumber</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value Type="UnsignedInteger">4869</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
</Or>
</Expression>
</And>
</FirstExpression>
<SecondComputerName>$Target/Host/Host/Property[Type="Windows!Microsoft.Windows.Computer"]/NetworkName$</SecondComputerName>
<SecondLogName>Microsoft-Windows-TerminalServices-TSV-VmHostAgent/Admin</SecondLogName>
<SecondExpression>
<And>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery Type="UnsignedInteger">EventDisplayNumber</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value Type="UnsignedInteger">4608</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery Type="String">Channel</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value Type="String">Microsoft-Windows-TerminalServices-TSV-VmHostAgent/Admin</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
</And>
</SecondExpression>
</Configuration>
</UnitMonitor>