Como evitar abrir o mesmo programa no servidor de terminal pelo “mesmo usuário” com o prompt de comando?

3

Tenho vários usuários que usam o Remote Desktop App (Server 2008) e, quando abrem o arquivo .BAT que criei, ele abre dois programas ... no entanto, preciso evitar o mesmo programa (nesse caso, o Outlook ) de abrir várias vezes ...

Eu criei esta linha no meu arquivo .BAT ...

tasklist /nh /fi "imagename eq outlook.exe" | find /i "Outlook.exe" > nul ||(start /min Outlook.exe)

Funciona bem ... exceto, eu tenho vários usuários fazendo logon neste "servidor de terminal" e executando o mesmo arquivo .BAT ... então o que acontece é quando o "Usuário 2" se conecta, eles não recebem O Outlook foi iniciado porque já está em execução no gerenciador de tarefas sob "USER 1" ...

Eu preciso distinguir o "imagename" and "username" ... bem, o "nome de usuário" seria %USERPROFILE%

    
por Brian 01.02.2016 / 16:19

1 resposta

0

How to prevent opening same program on terminal server by the “same user” with command prompt?

I have multiple users logging on to this "terminal server" and running the same .BAT file...so what happens is when "User 2" logs on, they don't get Outlook started because it already shows as running in the task manager under "USER 1"

Dê uma chance à lógica abaixo, pois ela usará a variável %Username% environmental para obter apenas a entrada TASKLIST atual para o nome de usuário do perfil da conta de usuário que executa esse comando. . .

TASKLIST COMEÇA A TER PROCESSO APENAS O USUÁRIO QUE O EXECUTA

TASKLIST /NH /FI "USERNAME eq %Username%" /FI "imagename eq outlook.exe"

USANDO COM SUA LÓGICA DE EXEMPLO

TASKLIST /NH /FI "USERNAME eq %Username%" /FI "imagename eq outlook.exe" | find /i "Outlook.exe" > nul ||(start /min Outlook.exe)

Leitura adicional e recursos

por 01.02.2016 / 16:48