AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / server / 问题 / 541870
Accepted
Warren P
Warren P
Asked: 2013-09-27 05:43:32 +0800 CST2013-09-27 05:43:32 +0800 CST 2013-09-27 05:43:32 +0800 CST

远程桌面服务是否可以单独通过 PowerShell 部署和管理,而无需在 WIndows Server 2012 和 2012 R2 中使用域?

  • 772

Windows Server 2008 R2 允许在没有域的情况下部署终端服务器(远程桌面服务),并且对域没有任何要求。这非常有用,特别是对于不需要或不希望任何 ActiveDirectory 或域功能的远程客户端远程管理的服务器的独立虚拟或云部署。

随着微软在每个 Windows 版本中越来越多地限制其技术,这变得越来越困难。使用 Windows Server 2012,为远程桌面服务配置许可在不在域中时更加困难,但仍然可以。对于 Windows Server 2012 R2(至少在预览版中),障碍现在很严重:

  1. Windows Server 2012 R2 中的“添加/删除角色和功能”向导有一个特殊的 RDS 部署模式,该模式有一个规则,即如果您不在无法部署的域中。它告诉您首先创建或加入域。这当然与 Active Directory 域控制器不应与终端服务器机器是同一台机器这一事实直接冲突。所以微软的技术与其说是一个云操作系统,不如说是一个不需要的节点集群,需要支持我真正想要部署的一台机器。这很恶心,所以我试图找到一种解决方法。

  2. 但是,如果您跳过该向导并仅选中主角色/功能向导中的复选框,则可以部署功能,但 UI 无法配置它们,当您返回角色向导上的 RDS 配置页面时,当您以本地计算机管理员身份登录时,您会收到一条消息说您无法管理远程桌面服务系统,因为尽管您拥有所有可能拥有的管理员权限(在基于工作组的系统中),但 RDS 配置 UI 将不接受这些凭据,让您继续。

我的问题是,我还能以某种方式获得以下最终结果:

  • 我需要每个系统允许 10-20 个用户进行 RDS (TS) 会话。
  • 我不需要任何花哨的 RDS 选项,除非微软以某种方式依赖于这些功能。我相信我需要“RDS 会话主机”,因为这是“终端服务器”的核心。微软称它是“远程桌面服务客户端的完整 Windows 桌面。
  • 我需要配置许可,以便宽限期不会过期而使我的 RDS 无法运行,因此这可能意味着我需要一种配置 TS CAL 的方法。

如果以上所有这些在技术上都可以通过明智地使用 PowerShell 来完成,那么我什至准备考虑开发执行上述操作所需的所有 PowerShell 脚本。我不是要别人为我写那个。我要问的是,除了故意破坏工作组用户的 2012 R2 UI 之外,是否有人知道我想要在上面做的事情是否存在技术障碍?如果我从 PowerShell 脚本操作和控制底层技术,它们是否仍然有效?

显然,一个单词是或否的答案对任何人都没有多大用处,所以问题是真的,是或否,为什么?如果答案是肯定的,那么如何。

powershell
  • 3 3 个回答
  • 38366 Views

3 个回答

  • Voted
  1. Best Answer
    ojovirtual
    2014-03-04T01:21:57+08:002014-03-04T01:21:57+08:00

    我发现自己和你一样。在独立的 Server 2012 机器上部署远程桌面非常困难,因为 Microsoft 的人不允许您在无域网络上运行它,如果这样做,您将无法管理所有设置。

    因此,您可以安装基于工作组的框并让远程桌面角色在其上工作。我们还需要在同一台机器上安装远程桌面许可功能。但是,一旦此时,即使您在服务器上安装了正确的 RDS CAL,当用户登录时,也会收到试用期开启的消息。

    我终于设法让它工作了,至少像我们以前知道的老式终端服务一样。这适用于需要 RDS 但无法在其网络上拥有两台服务器的小型客户的两台生产机器上。

    开始了:

    1. 使用以下步骤安装远程桌面许可和远程桌面会话主机角色服务:

      • 打开服务器管理器
      • 单击管理并选择添加角色和功能
      • 选择基于角色或基于功能的安装
      • 在远程桌面服务下,选择远程桌面许可和远程桌面会话主机角色服务。
      • 继续安装
    2. 将 License Server 添加到 Terminal Server License Servers 组并重启远程桌面服务(可以使用licmgr.exe)

    3. 将许可证添加到许可证服务器。

    4. 配置远程桌面会话主机角色以使用本地远程桌面授权服务器。按着这些次序:

      • 以管理员身份打开 PowerShell
      • 在 PS 提示符下键入以下命令,然后按 Enter:

    $obj = gwmi -namespace "Root/CIMV2/TerminalServices" Win32_TerminalServiceSetting

    运行以下命令设置许可模式(注意:Value = 2 for Per device,Value = 4 for Per User,我们使用per-user)

    $obj.ChangeMode(4)

    运行以下命令将机器名称替换为 License Server(mylicenseserver是您的服务器的名称):

    $obj.SetSpecifiedLicenseServerList("mylicenseserver")

    运行以下命令以验证使用上述步骤配置的设置:

    $obj.GetSpecifiedLicenseServerList()

    您应该在输出中看到服务器名称。

    完成此操作后,重新启动系统并使用任何用户登录(如果使用工作组,您知道您的用户必须是其中的一部分Remote Desktop Users)并且试用期消息将消失。

    所有这些混乱的来源:http: //support.microsoft.com/kb/2833839

    管理与Powershell

    有一些事情你可以管理Powershell。要查看命令,请尝试:

    import-module RemoteDesktop get-command -module RemoteDesktop

    您可以通过 Powershell 执行一系列命令来管理您的机器。但是,我尝试了一些,但其中一些要求您安装一些额外的功能,这些功能无法部署在我们正在讨论的场景中。

    丑陋的方式

    如果上述方法都不适合您,有一种方法可以将宽限期重置为最初的 120 天。当然,我不建议这样做,因为用户会一直注意到该消息。当然,您需要购买适当的许可证。

    要重置计数器,只需删除此注册表项:

    HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server\RCM\Grace Period

    当然,您需要额外的权限才能做到这一点,regedit以管理员身份执行将不起作用。尝试这个:

    • 获取PSEXEC
    • 以管理员身份启动 cmd
    • 跑psexec -s -i regedit.exe
    • 删除所需的密钥
    • 重启

    希望其中一些对您有用。如果您在 Powershell 和 RDS 方面取得了一些进展,请告诉我们。

    • 11
  2. HopelessN00b
    2014-02-26T08:58:32+08:002014-02-26T08:58:32+08:00

    当我在实验室中设置环境以尝试此操作(没有域的简单 RDS 部署)时,我找到了您问题的答案,尽管这不是您想听到的答案。

    [Server 2012 and 2012 R2] 中的 RDS 要求将其所有服务器添加到域中。据微软远程桌面虚拟化团队的一位项目经理说,他撰写了链接的 MSDN 博客文章,使用 Windows PowerShell 设置新的远程桌面服务部署。

    所以,很抱歉这不是你想要的答案,但它对我来说似乎很权威。您无法为所欲为,因为 Microsoft 已决定将域成员身份作为 Server 2012 和 2012 R2 中 RDS 服务器的技术要求。

    • 7
  3. JDub
    2015-06-17T13:20:36+08:002015-06-17T13:20:36+08:00

    我在测试过程中确实发现,至少配置 1 个启用 IPv6 的 NIC 很重要。这是因为环回需要 RDS 许可证服务器与它自己对话,它试图通过 IPv6 解析来执行此操作(如 Pings 中所示)。我在两个 NIC 上都禁用了 IPv6,这导致服务器无法正确环回。

    • 1

相关问题

  • 资源锁和电源外壳

  • 脚本 - 如何断开远程桌面会话?

  • 如何限制向通讯组发送到外部地址?

  • Powershell对值与数组的作用不同?

  • Windows Powershell Vim 键绑定

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    新安装后 postgres 的默认超级用户用户名/密码是什么?

    • 5 个回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve