Windows Server 2012, l'application a besoin d'un access administratif pour ouvrir le port

Comment puis-je accorder à une application un access à l'écoute sur un port particulier, sans l'exécuter en tant qu'administrateur ou désactiver UAC?

Par politique, il fallait passer d'un ancien server (Windows Server 2003) à Windows Server 2012.

L'objective principal de ce server est d'exécuter une application tierce qui écoute sur un port particulier (non standard) et répond aux requests. (Il doit être exécuté manuellement, ce n'est pas un service Windows).

Sur l'ancien server, il fonctionnait bien comme n'importe quel ancien user, tant que le pare-feu était configuré pour permettre à ce port d'ouvrir. En 2012, même avec le pare-feu configuré pour l'autoriser, il doit être exécuté en tant qu'administrateur pour pouvoir ouvrir le port.

Je comprends la nécessité de cela pour des raisons de security (les users arbitraires ne devraient pas pouvoir ouvrir des ports arbitraires sur le server, même s'ils ont un access à la connection), mais qu'en est-il du fait que je dois vraiment autoriser cet access?

Remarque: Je ne souhaite PAS que l'application s'exécute en tant qu'administrateur. Je ne veux pas désactiver UAC. Je veux que toutes les mesures de security restnt en place, autorisez cette seule application (elle peut avoir son propre count d'user) pour pouvoir ouvrir un port et l'écouter.

J'ai recherché des termes de search prometteurs, mais j'ai seulement eu des informations sur les ports que Windows Server 2012 exige pour ses propres services.

EDIT Plus d'informations sur la request. Il utilise simplement Winsock simple avec bind() et listn() et accept() . Il n'utilise aucun service Windows comme HTTPListener. Alors, comment puis-je suivre ce qui provoque l'ouverture de la socket lors de l'exécution en tant qu'user normal?

Édité parce que OP a fourni plus d'informations:

L'écoute des ports TCP n'exige pas de droits d'administrateur. Cependant, certains aides comme HTTPListener nécessiteraient des droits d'administrateur. Dans ces cas, essayez de configurer une réservation afin qu'un user puisse écouter sur ce port.

netsh http add urlacl url=http://+:80/MyUri user=DOMAIN\user

https://msdn.microsoft.com/en-us/library/ms733768.aspx?f=255&MSPPError=-2147217396

Dans votre cas, en utilisant winsock, la binding à un port ne triggers pas UAC ou nécessite des droits d'administrateur. C'est autre chose. Un outil que j'aime absolument, en ce qui concerne les problèmes d'autorisation, est le Process Monitor de Sysinternal !

Ajouter un filter (CTRL + L) "Le résultat est ACCESS DENIED". Cela vous montrera tous les process qui tentent d'accéder à un path, où le process manque d'permissions. Vous pouvez jouer avec les filters pour réduire le problème.