Estou tendo exatamente o mesmo problema com o Windows Server 2008 R2 sendo executado como uma Área de Trabalho Remota. O ID da sessão parece estar sempre correto, mas você não pode obter o ID da sessão de% sessionid% ou de com o VBA Environ ("SessionID"). Minha solução é usar a sessão de consulta Environ ("UserName") com C: > para extrair o SessionID e usá-la com o processo de consulta C: > "processname" para determinar se o processo está sendo executado na sessão. Não tenho certeza do que seu script está fazendo, mas talvez essa abordagem ajude. Observe que isso só funcionará se um usuário tiver permissão apenas para uma sessão de cada vez, como é o caso em nossa configuração do servidor de terminal. Se um usuário puder ter mais de uma sessão, o ID da sessão não será exclusivo com base no nome de usuário.