Os Serviços de Área de Trabalho Remota podem ser implantados e administrados somente pelo PowerShell, sem um Domínio no Windows Server 2012 e 2012 R2?

19

O Windows Server 2008 R2 permitiu a implantação do Terminal Server (Serviços de Área de Trabalho Remota) sem um domínio e sem insistência nos domínios. Isso foi muito útil, especialmente para implantações autônomas virtuais ou na nuvem de um servidor gerenciado remotamente para um cliente remoto que não precisa ou deseja nenhum recurso do ActiveDirectory ou do Domínio.

Isso se tornou cada vez mais difícil, pois a Microsoft restringe cada vez mais suas tecnologias a cada versão do Windows. Com o Windows Server 2012, a configuração do licenciamento para os Serviços de Área de Trabalho Remota é mais difícil quando não está em um domínio, mas é possível ainda. Com o Windows Server 2012 R2 (pelo menos na visualização), as barreiras agora são severas:

  1. O assistente Adicionar / Remover Funções e Recursos no Windows Server 2012 R2 possui um modo de implantação especial do RDS que possui uma regra que diz que, se você não estiver em um domínio, não poderá implantar. Ele diz para você criar ou ingressar em um domínio primeiro. Obviamente, isso entra em conflito direto com o fato de que um controlador de domínio do Active Directory não deve ser a mesma máquina que uma máquina de servidor de terminal. Portanto, a tecnologia da Microsoft não é tanto um sistema operacional de nuvem como um cluster de nós indesejados, necessários para suportar a única máquina que eu realmente quero implantar. Isso é nojento e, portanto, estou tentando encontrar uma solução alternativa.

  2. No entanto, se você pular esse assistente e apenas marcar as caixas de seleção no assistente de Funções / Recursos principal, poderá implantar os recursos, mas a interface do usuário não existe para configurá-los e quando você voltar à página de configuração do RDS no assistente de funções , você receberá uma mensagem informando que não pode administrar o sistema dos Serviços de Área de Trabalho Remota quando estiver logado como Administrador de Computador Local, porque, embora você tenha todos os privilégios de administrador que você poderia ter (no sistema baseado em grupo de trabalho), a interface de configuração do RDS será não aceite essas credenciais e deixe-o continuar.

Em resumo, minha pergunta é: ainda posso obter o seguinte resultado final:

  • Preciso permitir que 10 a 20 usuários por sistema tenham uma sessão RDS (TS).
  • Não preciso de nenhuma das opções sofisticadas de RDS para calças, a menos que a Microsoft dependa de alguma forma desses recursos. Acredito que preciso do "RDS Session Host", pois esse é o ponto mais importante do "Terminal Server". A Microsoft diz que é "a área de trabalho completa do Windows para o cliente dos Serviços de Área de Trabalho Remota.
  • Preciso configurar o licenciamento para que o Período de Carência não expire, deixando meu RDS não funcional, portanto, isso provavelmente significa que preciso de uma maneira de configurar TS CALs.

Se tudo o que foi dito acima puder ser tecnicamente feito com o uso criterioso do PowerShell, eu estou preparado para considerar o desenvolvimento de todos os scripts do PowerShell que eu precisaria fazer acima. Não estou pedindo a alguém que escreva isso para mim. O que estou perguntando é: alguém sabe se existe algum impedimento técnico ao que eu quero fazer acima, além do impedimento deliberado da interface do usuário 2012 R2 para usuários do grupo de trabalho? As tecnologias subjacentes ainda funcionariam se eu as manipulasse e controlasse a partir de um script do PowerShell?

Obviamente, uma resposta de 1 palavra Sim ou Não não é útil para ninguém, então a pergunta é realmente, sim ou não, e por quê? No caso, a resposta é Sim, então como.

Warren P
fonte
Parece que a Microsoft fez um grande esforço para tornar isso impossível e a resposta é NÃO, a Microsoft disse: "Dane-se, pessoal".
Warren P
Você recebeu uma mensagem do MSFT dizendo que não é possível / viável?
Mathias R. Jessen
você precisa de serviços completos de área de trabalho remota ou a área de trabalho remota é suficiente? existe um limite padrão de 1 ou 2 usuários, ou algo assim, mas já vi maneiras de usar bibliotecas de política de grupo ou ahem modificadas que permitem mais ... não tenho certeza se elas funcionam para 2012 ... ou se a sugestão é apropriada em suas circunstâncias ..
Jon Kloske
@JonKloske tecnicamente que 2 limite de usuário é para os administradores , e não os usuários
MDMoore313
@ MDMoore313 - referência ou não aconteceu :) technet.microsoft.com/en-us/library/cc753380.aspx e um milhão de outros links, todos dizem que sem a função Host de Sessão RD, 2 é o limite remoto máximo. Faça referência a algo que apóie sua reivindicação ou remova-a para evitar confusão!
21414 Jon Kloske

Respostas:

10

Eu me encontrei no mesmo cenário que você. A implantação da Área de Trabalho Remota em uma caixa autônoma do Server 2012 é bastante difícil, porque os funcionários da Microsoft não permitem que você execute isso em uma rede sem domínio e, se o fizer, não poderá gerenciar todas as configurações.

Portanto, você pode instalar uma caixa baseada em grupo de trabalho e colocar as funções da Área de Trabalho Remota. Também precisamos instalar os recursos de Licenciamento de área de trabalho remota na mesma máquina. Porém, uma vez neste momento, mesmo se você tiver RDS CALs apropriadas instaladas no servidor, quando o usuário efetuar login, receberá a mensagem de que o período de avaliação está ativo.

Finalmente consegui fazê-lo funcionar, pelo menos algo como os bons e velhos Serviços de Terminal que costumávamos conhecer. Isso funciona para mim em duas máquinas de produção de pequenos clientes que precisam de RDS, mas não podem se dar ao luxo de ter dois servidores em sua rede.

Aqui vamos nós:

  1. Instale os serviços de função Licenciamento de área de trabalho remota e Host de sessão da área de trabalho remota usando as seguintes etapas:

    • Abra o Gerenciador do Servidor
    • Clique em Gerenciar e selecione Adicionar funções e recursos
    • Selecione Instalação com base em função ou em recurso
    • Em Serviços de Área de Trabalho Remota, escolha serviços de função Licenciamento de Área de Trabalho Remota e Host de Sessão da Área de Trabalho Remota.
    • Prossiga com a instalação
  2. Adicione o grupo Servidor de licenças aos Servidores de licenças do Terminal Server e reinicie o serviço Área de trabalho remota (você pode usar licmgr.exe)

  3. Adicione as licenças ao servidor de licenças.

  4. Configure a função Host de Sessão da Área de Trabalho Remota com para usar o servidor de Licenciamento da Área de Trabalho Remota local. Siga esses passos:

    • Abra o PowerShell como administrador
    • Digite o seguinte comando no prompt do PS e pressione Enter:

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

Execute o seguinte comando para definir o modo de licenciamento (Nota: Valor = 2 para Por dispositivo, Valor = 4 para Por Usuário, usamos por usuário)

$obj.ChangeMode(4)

Execute o seguinte comando para substituir o nome da máquina pelo Servidor de Licenças ( mylicenseserveré o nome do seu servidor):

$obj.SetSpecifiedLicenseServerList("mylicenseserver")

Execute o seguinte comando para verificar as configurações definidas usando as etapas acima mencionadas:

$obj.GetSpecifiedLicenseServerList()

Você deve ver o nome do servidor na saída.

Depois disso, reinicie o sistema e efetue login com qualquer usuário (se estiver usando um grupo de trabalho, você sabe que seus usuários devem fazer parte Remote Desktop Users) e a mensagem do período de avaliação desaparecerá.

Fonte de toda essa bagunça: http://support.microsoft.com/kb/2833839

Gerenciando com Powershell

Você pode gerenciar algumas coisas Powershell. Para ver os comandos, tente:

import-module RemoteDesktop get-command -module RemoteDesktop

Há uma lista de comandos que você pode executar via Powershell para gerenciar sua caixa. No entanto, tentei alguns, mas alguns deles exigem que você tenha alguns recursos extras instalados, que não podem ser implantados no cenário de que estamos falando.

A maneira feia

Se nenhuma das opções acima funcionar para você, existe uma maneira de redefinir o período de cortesia para os 120 dias iniciais. Obviamente, eu não recomendo fazer isso, pois o usuário continuará percebendo a mensagem. Obviamente, você precisará adquirir licenças adequadas.

Para redefinir o contador, basta excluir esta chave do registro:

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

Obviamente, você precisará de privilégios extras para fazer isso, a execução regeditcomo administrador não funcionará. Tente o seguinte:

  • PSEXEC Obter
  • Iniciar um cmd como administrador
  • corre psexec -s -i regedit.exe
  • exclua a chave desejada
  • reiniciar

Espero que isso funcione para você. Se você fizer alguns avanços com o Powershell e o RDS, informe-nos.

ojovirtual
fonte
Percebi que, no Win Server 2012 R2, eles se esforçam muito para impedi-lo dessa chave. Obrigado pela dica PSEXEC!
Warren P
1
Penso que uma solução melhor é simplesmente parar de tentar usar os produtos da Microsoft, pois eles se esforçam para impedir que pequenas empresas (que pagam por seus produtos) usem produtos da Microsoft para realizar o que desejam, para administrar seus negócios. Claramente, a Microsoft se preocupa apenas com implantações de grandes empresas, onde a integração do diretório ativo e os sistemas de licenciamento por volume facilitam um pouco a tarefa de cobrar mais pela funcionalidade do Terminal Server.
21714 Warren P
Como faço para "Adicionar o servidor de licenças ao grupo Servidores de Licenças do Terminal Server"? Não vejo nenhuma maneira de fazer isso no licmgr.exe.
Shackrock
6

Enquanto eu estava configurando um ambiente em um laboratório para tentar isso (uma implantação simples do RDS em um domínio), encontrei a resposta para sua pergunta, embora não seja a que você deseja ouvir.

O RDS no [Server 2012 e 2012 R2] exige que todos os seus servidores sejam adicionados a um domínio . Isso, de acordo com um gerente de programa da Microsoft na equipe de Virtualização de área de trabalho remota, que escreveu o artigo de blog vinculado do MSDN, Configurando uma nova implantação dos Serviços de Área de Trabalho Remota usando o Windows PowerShell.

Então, desculpe-me por não ser a resposta que você queria, mas parece ser bastante autoritária para mim. Você não pode fazer o que deseja, porque a Microsoft decidiu tornar a associação ao domínio um requisito técnico para servidores RDS no Server 2012 e 2012 R2.

HopelessN00b
fonte
Isso foi um idiota para a Microsoft. Minha leitura também tende a seguir suas linhas; A Microsoft pretendia combinar vários sistemas "extrair dinheiro dos clientes" (licenciamento RDS CAL e centralização de licenciamento baseada em domínio). Aqueles que desejam usar servidores de terminal independentes para grupos de trabalho ficam em alta e seca.
21814 Warren P
1

Durante o teste, descobri que é importante ter pelo menos 1 NIC configurada com o IPv6 ativado. Isso foi necessário como loopback para que o servidor de Licença RDS conversasse consigo mesmo, tentando resolver via IPv6 para fazer isso (como visto em Pings). Eu tinha o IPv6 desativado nas duas placas de rede e isso fez com que o servidor não voltasse corretamente.

JDub
fonte