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 qualquer insistência nos domínios. Isso foi muito útil, especialmente para implantações virtuais ou em nuvem autônomas de um servidor gerenciado remotamente para um cliente remoto que não precisa ou deseja nenhum recurso do ActiveDirectory ou do Domínio.

Isso tem se tornado cada vez mais difícil à medida que a Microsoft restringe suas tecnologias cada vez mais em 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 ainda é possível. Com o Windows Server 2012 R2 (pelo menos na pré-visualização), as barreiras agora são severas:

  1. O assistente Adicionar / Remover Funções e Recursos do Windows Server 2012 R2 tem um modo de implantação especial do RDS com uma regra que diz: se você não estiver em um domínio que não possa implantar. Ele diz para você criar ou ingressar em um domínio primeiro. Isso obviamente 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 do servidor de terminal. Portanto, a tecnologia da Microsoft não é um sistema operacional em nuvem como um Cluster de nós indesejados, necessário para suportar a única máquina que realmente quero implantar. Isso é nojento e, por isso, estou tentando encontrar uma solução alternativa.

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

Minha pergunta em breve é, ainda posso de alguma forma, obter o seguinte resultado final:

  • Preciso permitir que 10 a 20 usuários por sistema tenham uma sessão de RDS (TS).
  • Eu não preciso de nenhuma das opções extravagantes de RDS, a menos que a Microsoft de alguma forma dependa de que esses recursos estejam presentes. Eu acredito que eu preciso do "Host de Sessão RDS", pois esta é a coragem de "Terminal Server". A Microsoft diz que é "o desktop completo 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, então isso provavelmente significa que preciso de uma maneira de configurar as TS CALs.

Se todos os itens acima puderem ser tecnicamente feitos com o uso criterioso do PowerShell, estou preparado para considerar o desenvolvimento de todos os scripts do PowerShell que eu precisaria fazer acima. Eu não estou pedindo a alguém para escrever isso para mim. O que eu estou perguntando é, alguém sabe se há um impedimento técnico para o que eu quero fazer acima, além da debilitação deliberada da interface do usuário do 2012 R2 para usuários do grupo de trabalho? Todas 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 questão é realmente, sim ou não, e por quê? No caso, a resposta é sim, então como.

    
por Warren P 26.09.2013 / 15:43

3 respostas

10

Eu me encontrei no mesmo cenário que você. Implantar a Área de Trabalho Remota em uma caixa independente do Servidor 2012 é bastante difícil, porque os caras da Microsoft não permitem que você execute isso em uma rede sem domínio e, se o fizer, não será possível gerenciar todas as configurações.

Assim, você pode instalar uma caixa baseada em grupo de trabalho e obter as funções de Área de Trabalho Remota trabalhando nela. Também precisamos instalar os recursos de licenciamento de área de trabalho remota na mesma máquina. Mas, uma vez nesse ponto, mesmo que você tenha as RDS CALs adequadas instaladas no servidor, quando o usuário fizer login, receberá a mensagem de que o período de avaliação está ativado.

Eu finalmente consegui fazê-lo funcionar, pelo menos algo como os bons serviços de terminal que costumávamos conhecer. Isso está funcionando para mim em duas máquinas de produção de pequenos clientes que precisam de RDS, mas não podem se permitir ter dois servidores em sua rede.

Aqui vamos nós:

  1. Instale os serviços de função do Licenciamento da Área de Trabalho Remota e do 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
    • Selecionar instalação baseada em função ou baseada em recurso
    • Em Serviços de Área de Trabalho Remota, escolha Serviços de função de Licenciamento de Área de Trabalho Remota e Host de Sessão de Área de Trabalho Remota.
    • Continuar com a instalação
  2. Adicione o servidor de licenças ao grupo de servidores de licenças do Terminal Server e reinicie o serviço de área de trabalho remota (você pode usar licmgr.exe )

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

  4. Configure a função do Host da Sessão da Área de Trabalho Remota para usar o servidor local de Licenciamento da Área de Trabalho Remota. Siga estas etapas:

    • 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 configuradas usando as etapas mencionadas acima:

$obj.GetSpecifiedLicenseServerList()

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

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

Origem de toda essa bagunça: link

Gerenciando com Powershell

Existem algumas coisas que você pode gerenciar com Powershell . Para ver os comandos, tente:

import-module RemoteDesktop get-command -module RemoteDesktop

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

O modo feio

Se nenhuma das opções acima funcionar para você, há uma maneira de redefinir o período de tolerância para os primeiros 120 dias. É claro que não recomendo fazer isso, pois o usuário continuará percebendo a mensagem. Claro, você precisará comprar licenças adequadas.

Para redefinir o contador, basta excluir essa chave do Registro:

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

Claro, você precisará de privilégios extras para isso, executando regedit como administrador não funcionará. Tente isto:

  • Obtenha o PSEXEC
  • Iniciar um cmd como administrador
  • executar psexec -s -i regedit.exe
  • elimine a chave pretendida
  • reinicializar

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

    
por 03.03.2014 / 10:21
6

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

O RDS no [Servidor 2012 e 2012 R2] requer que todos os 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 do MSDN vinculado, 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ário para mim. Você não pode fazer o que deseja, porque a Microsoft decidiu tornar a participação no domínio um requisito técnico para servidores RDS no Server 2012 e 2012 R2.

    
por 25.02.2014 / 17:58
1

Eu descobri que durante o teste, é importante ter pelo menos 1 NIC configurada com o IPv6 ativado. Isso era necessário como o loopback para que o servidor de licença do RDS falasse consigo mesmo que tentou resolver via IPv6 para fazer isso (como visto em Pings). Eu tinha o IPv6 desabilitado em ambos os NICs e isso fazia com que o servidor não fizesse o loop corretamente.

    
por 16.06.2015 / 23:20