如何使用 WMI 将用户添加到 RDP 权限

本文介绍将用户或组添加到远程桌面协议(RDP)权限的三种方法。

原始 KB 编号: 290720

总结

这三种方法中的两种方法使用 Windows Management Instrumentation(WMI)。 一种方法是通过图形用户界面(GUI),另外两种方法使用 WMI,方法是使用脚本和 WMI 命令行实用工具 wmic。

详细信息

若要将用户或组添加到 RDP 权限,请使用以下方法之一。

使用 GUI

  1. 打开远程桌面服务配置。
  2. 在“连接”文件夹中,右键单击 RDP-Tcp
  3. 选择“属性”。
  4. “权限”选项卡上,选择“添加”,然后添加所需的用户和组。

注意

不能使用 GUI 配置权限以使用 RDP 登录到控制台会话。 若要更改控制台会话(会话零)的权限,必须使用下面的 WMI 方法,并为终端名称指定控制台而不是 RDP-Tcp。

在脚本中使用 WMI

Microsoft 提供的编程示例仅用于进行说明,而不提供明示或默示担保。 包括但不限于适销性或针对特定用途的适用性的默示保证。 本文假设你熟悉正在演示的编程语言和用于创建和调试过程的工具。 Microsoft 支持工程师可以帮助解释特定过程的功能。 但是,它们不会修改这些示例,以提供添加的功能或构造过程以满足你的特定要求。 使用以下代码示例创建脚本:

set RDPObj = GetObject("winmgmts:{impersonationLevel=impersonate}!Win32_TSPermissionsSetting.TerminalName='RDP-Tcp'")
RDPobj.AddAccount "Domain\User", X

其中 “域\用户”,X

  • 域\用户:要向其授予权限的目标域和帐户(用户或组)。 对于本地帐户,请将 Domain\User 替换为“用户”,其中用户是运行命令的计算机上的本地帐户。
  • X:要授予的访问权限的类型:
    0 = WINSTATION_GUEST_ACCESS
    1 = WINSTATION_USER_ACCESS
    2 = WINSTATION_ALL_ACCESS

若要更改控制台会话的权限,请将终端名称更改为控制台而不是 RDP-Tcp。

set RDPObj = GetObject("winmgmts:{impersonationLevel=impersonate}!Win32_TSPermissionsSetting.TerminalName='Console'")RDPobj.AddAccount "Domain\User", X

若要将权限还原回默认权限,请指定相关的终端名称。 然后,调用该方法 RestoreDefaults

set RDPObj = GetObject("winmgmts:{impersonationLevel=impersonate}!Win32_TSPermissionsSetting.TerminalName='Console'")RDPobj.RestoreDefaults

使用 WMI 命令行实用工具:WMIC

  1. 在命令提示符处,键入 wmic。

    注意

    如果它不在路径中,请添加 %SystemRoot%\System32\Wbem\或更改该目录并运行 wmic。

  2. wmic:root\cli> prompt以下命令中键入以下命令:
    PATH WIN32_TSPermissionsSetting.TerminalName=“RDP-TCP”调用 AddAccount“Domain\user”,X

    其中 “域\用户”,X

    • 域\用户:要向其授予权限的目标域和帐户(用户或组)。 对于本地帐户,请将 Domain\User 替换为“用户”,其中用户是运行命令的计算机上的本地帐户。
    • X:要授予的访问权限的类型:
      0 = WINSTATION_GUEST_ACCESS
      1 = WINSTATION_USER_ACCESS
      2 = WINSTATION_ALL_ACCESS

    若要更改控制台会话的权限,请将终端名称更改为控制台而不是 RDP-Tcp。

    PATH WIN32_TSPermissionsSetting.TerminalName="Console" call AddAccount "Domain\user",X
    

    若要将权限还原回默认权限,请指定相关的终端名称。 然后,调用 RestoreDefaults 方法。

    PATH WIN32_TSPermissionsSetting.TerminalName="Console" call RestoreDefaults
    
  3. 以下信息是运行 wmic 并输入命令后将看到的文本示例:

    C:\WINDOWS\system32\wbem>wmic
    wmic:root\cli>
    wmic:root\cli> PATH WIN32_TSPermissionsSetting.TerminalName="RDP-TCP" call AddAccount "Domain\User", 2
    
    Execute (\\<ComputerName>\\root\vimv2: WIN32_TSPermissionsSetting.TerminalName="RDP-TCP")->AddAccount() (Y/N/?)
    
    Method Execution Successful.
    Out Parameters:
    instance of _PARAMETERS
    {
    RetureValue=0;
    };
    
  4. 键入退出以退出 wmic 提示符并返回到命令提示符。