Você pode forçá-lo a retornar usando o argumento -NonInteractive
com o powershell:
PowerShell.exe -File "C:\foo\countProcessProject.ps1" -NonInteractive
Embora eu não tenha nenhuma explicação perspicaz sobre o motivo pelo qual isso seria necessário, eis como lidaria com essa questão:
Sem o PowerShell:
Se você insistir em usar a jóia arqueológica de query farm
, isso pode ser feito usando cmd
sozinho - sem necessidade de complicar uma tarefa simples:
query farm /process |find /i "winproj" /c
Isto produzirá o número "winproj" processa muito da mesma maneira que sua instrução de invocação do powershell atual
Usando apenas o PowerShell:
Se você está interessado em passar para uma solução mais centrada no PowerShell, é possível usar os PS Snapins incluídos no oficial XenApp PowerShell SDK da Citrix:
Add-PSSnapin Citrix.XenApp.Commands
$FarmProcs = Get-XAServer -OnlineOnly | Get-XASessionProcess
$MSProjProcs = $FarmProcs | Where {ProcessName -match "winproj"} | Measure-Object
return $MSProjProcs.Count