GPO para desativar o protetor de tela somente quando conectado via RDP

6

Existe uma opção de GPO para desabilitar a proteção de tela em tempo ocioso para conexões RDP, mas manter as opções de proteção de tela em tempo ocioso para logins interativos?

Editar: Todos os usuários são usuários de TS, bem como locais, de forma que estejam na mesma UO. Precisamos que o protetor de tela 'desativado' quando RDP.

    
por Matthew Halliday 27.03.2012 / 02:37

5 respostas

1

Assim como os comentários @ELT, você precisa colocar em prática uma política de loopback, então a configuração completa seria:

  • Crie um GPO na unidade organizacional do servidor.
  • Defina a política "Ativar proteção de tela" na ramificação da configuração do usuário para "Desativado".
  • Na ramificação Configuração do Computador, defina "Configurar o modo de processamento de loopback da Diretiva de Grupo do usuário" como "Ativado", modo "Mesclar".

Esta última política forçará o cálculo das configurações deste GPO como se o usuário pertencesse à UO onde o servidor está. Portanto, será necessário "Ativar proteção de tela: desativado".

    
por 27.05.2015 / 12:57
1

Há alguns meses, publiquei minha solução para esse problema aqui. Como uma reação no post de tfrederick74656 (abaixo), declarei ter uma solução melhor usando a segmentação em nível de item para a área de trabalho remota.

Depois que postei isso, funcionou por um ou dois dias e depois não fez mais nada. Depois de alguns meses fazendo outras coisas e me perguntando o que realmente acontece eu comecei tudo de novo. E desta vez eu realmente tenho a solução para o problema!

Objetivo: todos os laptops, desktops e servidores com política de tela de bloqueio, exceto o RDP.

Não é mais uma solução de segmentação no nível do item, mas um script e uma configuração juntos em um GPO. Como dito em outros lugares, existem quatro configurações que você precisará:

  • Ativar proteção de tela

  • Ativado Proteger com senha a proteção de tela

  • Ativado Forçar proteção de tela específica

  • Enabled ScreenSaveTimeOut [tempo em segundos]

Como não sei qual configuração é responsável por essa coisa funcionar, queria incluí-las no script. Uma configuração que não consegui encontrar, portanto, esta é separada das outras: Forçar protetor de tela específico. (Você não precisa informar ao sistema qual protetor de tela será necessário.) A outra coisa que precisamos é de um script: LockDesktopAfter3MinutesExceptRDP.PS1

Este é o GPO: Configuração do usuário - Políticas - Modelos administrativos - Painel de controle - Personalização - Forçar protetor de tela específico: Ativado (Você não precisa informar ao sistema qual protetor de tela será necessário).

EaquiestáoscriptqueadicioneiaoGPO:

$File="c:\temp\sessions.txt"
query session > $File
$text = Get-Content $File
ForEach ($Line in $text)
{
If ($Line -like '*>console*')
    {
    #console session
    Set-ItemProperty -Path "HKCU:\Software\Policies\Microsoft\Windows\Control Panel\Desktop\" -Name ScreenSaveActive -Value 1
    Set-ItemProperty -Path "HKCU:\Software\Policies\Microsoft\Windows\Control Panel\Desktop\" -Name ScreenSaverIsSecure -Value 1
    Set-ItemProperty -Path "HKCU:\Software\Policies\Microsoft\Windows\Control Panel\Desktop\" -Name ScreenSaveTimeOut -Value 180
    }
ElseIf ($Line -like '*>rdp-tcp*')
    {
    #RDP session
    Set-ItemProperty -Path "HKCU:\Software\Policies\Microsoft\Windows\Control Panel\Desktop\" -Name ScreenSaveActive -Value 0
    Set-ItemProperty -Path "HKCU:\Software\Policies\Microsoft\Windows\Control Panel\Desktop\" -Name ScreenSaverIsSecure -Value 0
    Set-ItemProperty -Path "HKCU:\Software\Policies\Microsoft\Windows\Control Panel\Desktop\" -Name ScreenSaveTimeOut -Value 86400
    }
}
# Apply this new policy now (immediately after this registry change)
Start-Sleep -s 10
Start-Process -FilePath "rundll32.exe" -ArgumentList "user32.dll, UpdatePerUserSystemParameters 1, True"

E é disso que o roteiro é:

Quando você digita "sessão de consulta" em uma caixa cmd, recebe sua sessão e outras sessões possíveis em algumas linhas. Sua própria sessão tem um "sinal de maior que" no início da linha.

O script do powershell lê esta saída linha a linha e verifica se "> console" ou "> rdp-tcp" está presente. Agora você sabe se está lidando com uma área de trabalho remota - desktop ou console-desktop. Agora você pode alterar o comportamento da área de trabalho de bloqueio, dependendo da situação, alterando os itens do registro.

Mas isso é apenas metade da solução.

O verdadeiro problema foi que você tem que dizer ao sistema que você quer o resultado AGORA. Isso é feito executando a última linha do script.

Espero que isso ajude você.

    
por 03.05.2017 / 11:33
0

Eu colocaria os usuários de TS em uma UO separada por essa Microsoft artigo technet .

Altere este pedido no snap-in de Política de grupo em:

    
por 27.03.2012 / 05:46
0

Eu sei que esta é uma pergunta antiga, e isso é um pouco hackish de uma resposta, mas você poderia simplesmente criar um item de Registro de Preferências de Diretiva de Grupo para desabilitar a proteção de tela quando o nome da sessão contiver RDP. Você poderia configurar o item de registro para definir o tempo limite para algo ridículo como 9999 minutos:

Emseguida,configureasegmentaçãoparaseraplicadasomentequandoonomedasessãocorresponderaumasessãoRDP.Nãohánenhumcaracterecuringa,masonúmeroéincrementadoemcadalogondoRDP,redefinindonasreinicializações,portanto,bastaincluirumgrupo.

Não é exatamente uma solução elegante, mas faria o trabalho. Certifique-se de criar isso como uma política do usuário e marque a caixa "executar no contexto do usuário atual".

    
por 20.11.2014 / 07:54
0

Nunca fiz isso com protetores de tela, mas implementamos um tipo semelhante de política com impressoras.

GPO que segmenta apenas a UO específica com os Servidores de Terminal - nota * estamos direcionando objetos de computador. Use a política de loopback para impor as configurações do protetor de tela aos usuários; se configurado corretamente, deve se aplicar a todos os usuários no logon .

    
por 24.12.2014 / 15:13