Partager via


Services et lecteurs redirigés

Un service (ou tout processus s’exécutant dans un contexte de sécurité différent) qui doit accéder à une ressource distante doit utiliser le nom UNC (Universal Naming Convention) pour accéder à la ressource. Le service doit disposer des privilèges appropriés pour accéder à la ressource. Si un service côté serveur utilise une connexion RPC, la délégation doit être activée sur le serveur distant.

Les lettres de lecteur ne sont pas globales pour le système. Chaque session d’ouverture de session reçoit son propre ensemble de lettres de lecteur de A à Z. Par conséquent, les lecteurs redirigés ne peuvent pas être partagés entre des processus s’exécutant sous des comptes d’utilisateur différents. En outre, un service (ou tout processus en cours d’exécution dans sa propre session d’ouverture de session) ne peut pas accéder aux lettres de lecteur qui ont été établies dans une autre session d’ouverture de session.

Un service ne doit pas accéder directement aux ressources locales ou réseau par le biais de lettres de lecteur mappées, ni appeler la commande net use pour mapper les lettres de lecteur au moment de l’exécution. La commande net use n’est pas recommandée pour plusieurs raisons :

  • Les mappages de lecteur existent entre les contextes d’ouverture de session. Par conséquent, si une application s’exécute dans le contexte du compte LocalService, tout autre service exécuté dans ce contexte peut avoir accès au lecteur mappé.
  • Si le service fournit des informations d’identification explicites à une commande net use , ces informations d’identification peuvent être partagées par inadvertance en dehors des limites du service. Au lieu de cela, le service doit utiliser l’emprunt d’identité du client pour emprunter l’identité de l’utilisateur.
  • Plusieurs services s’exécutant dans le même contexte peuvent interférer les uns avec les autres. Si les deux services effectuent une utilisation réseau explicite et fournissent les mêmes informations d’identification en même temps, un service échoue avec une erreur « déjà connecté ».

En outre, un service ne doit pas utiliser les fonctions de mise en réseau Windows pour gérer les lettres de lecteur mappées. Bien que les fonctions WNet puissent retourner correctement, le comportement résultant n’est pas celui prévu. Lorsque le système établit un lecteur redirigé, il est stocké par utilisateur. Seul l’utilisateur est en mesure de gérer le lecteur redirigé. Le système effectue le suivi des lecteurs redirigés en fonction de l’identificateur de sécurité d’ouverture de session (SID) de l’utilisateur. Le SID d’ouverture de session est un identificateur unique pour la session d’ouverture de session de l’utilisateur. Un seul utilisateur peut avoir plusieurs sessions d’ouverture de session simultanées sur le système.

Si un service est configuré pour s’exécuter sous un compte d’utilisateur, le système crée toujours une session d’ouverture de session pour l’utilisateur et démarre le service dans cette nouvelle session d’ouverture de session. Par conséquent, un service ne peut pas gérer les mappages de lecteurs établis dans les autres sessions de l’utilisateur.

Windows Server 2003 : Sur un ordinateur qui a plusieurs interfaces réseau (c’est-à-dire un ordinateur multirésident), des retards allant jusqu’à 60 secondes peuvent se produire lors de l’utilisation des chemins UNC pour accéder aux fichiers stockés sur un serveur SMB (Remote Server Message Block).