Eu tenho um GPO (configurado com substituição de loopback) que executa um script de logon (.vbs) e o vincula a uma UO contendo um host W2012R2 RDS.
Fiz estas alterações (relacionadas à pergunta) na política:
Computer Configuration -> Policies -> Administrative Templates -> System -> Group Policy -> Configure Logon Script Delay -> Enabled -> minute: 0
User Configuration -> Policies -> Windows Settings -> Scripts (Logon/Logoff) -> MyScript.vbs
User Configuration -> Policies -> Administrative Templates -> System -> Run legacy logon scripts hidden -> Enabled
User Configuration -> Policies -> Administrative Templates -> System -> Display instructions in logon scripts as they run -> Disabled
Quando um usuário faz logon, o script é executado perfeitamente em primeiro plano, mas de acordo com as configurações que fiz, eu esperava que o prompt de comando não aparecesse. Então, o que estou fazendo de errado aqui e qual é exatamente a definição da Microsoft de um "script legado"?
Estou ciente de que posso escrever um pequeno "script wrapper" que chama cscript.exe
com o parâmetro oculto, mas gostaria de manter isso o mais limpo possível e gostaria de entender por que minhas configurações não funcionam.
Eu descobri o que está causando isso, pois minhas configurações de GPO estão corretas. O script que preciso executar usa uma função para forçar a versão de 32 bits do host de script.
Portanto, substituindo esta chamada para
cmd.exe
......com isso, ele foi executado oculto. Missão completada.