GPO: script de logon do usuário não está em execução

1

Eu tenho um GPO vinculado a uma UO que contém computadores. O processamento de loopback é ativado um conjunto para mesclar. Dentro da parte do usuário do GPO eu tenho um script powershell definido que basicamente verifica se ele está sendo executado dentro de uma sessão de desktop remodificada (if ($ env: SESSIONNAME -ne 'Console')) e, em seguida, tenta definir uma variável de ambiente com base em uma modificação de $ env: CLIENTNAME.

No entanto, o script parece não funcionar, pois no momento da execução não há $ env: CLIENTNAME. Como posso consertar isso?

Já tentei ativar e desativar "Executar scripts de logon de forma síncrona". Se eu permitir isso - sem sorte, o que parece lógico. Quando definido para "Não configurado", o mencionado acima acontece. Obrigado pela sua contribuição.

[EDITAR]

Quando invoco o script por meio de "Configuração do usuário = > Políticas = > Modelos administrativos = > Sistema = > Logon = > Execute esses programas no logon do usuário" parece funcionar. No entanto, não para todos os usuários e com uma latência aleatória.

Existe outra maneira de usar o powershell para consultar% CLIENTNAME%? Como perguntar aos servidores da área de trabalho remota por usuários logados ... você pode ver para onde estou apontando?

    
por Matze 06.03.2014 / 11:59

1 resposta

2

Este link aqui me ajudou a resolver meu problema:

link

Agora estou analisando a saída de qwinsta e leio o nome do cliente do registro que está disponível anteriormente, em seguida, o var% CLIENTNAME%

Function Get-ClientName 
{
    $session = qwinsta $env:USERNAME
    $sessionId = $session[1].subString(39,9).Trim()

    return (Get-ItemProperty "HKCU:\Volatile Environment\${sessionId}\" -Name CLIENTNAME).CLIENTNAME
}

Então, posso carregar meu script em "Configuração do usuário = > Políticas = > Configurações do Windows = > Scripts = > Logon ..."

    
por 06.03.2014 / 17:39