Limitando o usuário abrir 2 estancias do aplicativo no mesmo servidor | Limiting a user to 2 instances of an application

Posted on 17 de dezembro de 2014

0


Olá!,

Essa semana me deparei com a seguinte situação na empresa.
Precisava limitar o uso de um determinado aplicativo na Farm do Citrix.
Por característica do XenApp ele não limita mais de 2 aplicativos por usuário na Farm, porém você pode definir quantos aplicativos será aberto naquele mesmo Servidor.

http://support.citrix.com/proddocs/topic/xenapp5fp-w2k8/ps-sessions-pub-app-app-lmts-task-v2.html

Limiting a user to 2 instances of an application
http://blogs.citrix.com/2013/09/02/limiting-a-user-to-2-instances-of-an-application/

Após analisar a informação no site da Citrix, optei pela elaboração do Script.
Porém, esse Script, impossibilita que o usuário abra o mesmo aplicativo 2x no mesmo servidor. Ou Seja, se ele cair em outro, vai conseguir abrir normalmente.

Segue o conteúdo que deve ser salvo com o nome de AppCitrix.ps1 (ou de sua preferencia)

Esse mesmo Script se aplica para o RDS “Terminal Service”

Fique a vontade de usar, porém não esqueça de citar a fonte. Ok ?

Grande abraço e até a próxima

#########################################################################
#  Nome do Script: AppCitrix.ps1
#  Criado em:  11/12/2014
#  Autor:  Eder Machado ” edermachadoo.wordpress.com
#  Objetivo: Limitar o número de aplicativos abertos para 2
#  Versão:  1.0
#
##########################################################################
[System.Reflection.Assembly]::LoadWithPartialName(“System.Windows.Forms”) |out-null
$wshell = New-Object -ComObject Wscript.Shell
$process = “APLICATIVO”
$ret = (gwmi win32_process | ?{ $_.ProcessName -Match $process }).GetOwner().User -eq $env:USERNAME
$ret.Count |out-null

Write “Aguarde Iniciando o $process”

if ($ret.Count -gt 1)
{

[System.Windows.Forms.MessageBox]::Show(“Você já possui duas estancias abertas do $process” , “Limite de Aplicativos”)

}
else
{
Start-Process APLICATIVO
}

Posted in: Citrix, Windows