RunAs
Configure une classe pour s’exécuter sous un compte d’utilisateur spécifique lorsqu’elle est activée par un client distant sans être écrite en tant qu’application de service.
Entrée du Registre
HKEY_LOCAL_MACHINE\SOFTWARE\Classes\AppID
{AppID_GUID}
RunAs = value
Remarques
La valeur spécifie le nom d’utilisateur et doit être l’un des formulaires UserName, Domaine**\**UserName ou de la chaîne « Utilisateur interactif ». Vous pouvez également spécifier les chaînes « nt authority\localservice » (pour le service local) et « nt authority\networkservice » (pour le service réseau). Vous pouvez également spécifier la chaîne « nt authority\system » quand {AppID_GUID} fait référence à un serveur COM déjà démarré ou qui a une entrée dans la table de classes. Toutefois, vous ne pouvez pas utiliser « nt authority\system » avec un serveur COM qui n’est pas déjà démarré. Le mot de passe par défaut pour « nt authority\localservice », « nt authority\networkservice » et « nt authority\system » est « » (chaîne vide).
Note
À compter de Windows Vista, un mot de passe vide n’est plus nécessaire pour configurer les paramètres « nt authority\localservice », « nt authority\networkservice » et « nt authority\system » RunAs settings.
Les classes configurées pour s’exécuter en tant qu’utilisateur particulier ne peuvent pas être inscrites sous une autre identité. Par conséquent, les appels à CoRegisterClassObject avec ce CLSID échouent, sauf si le processus a été lancé par COM pour le compte d’une demande d’activation réelle.
Le nom d’utilisateur est extrait de la valeur RunAs sous la clé AppID de la classe. Si le nom d’utilisateur est « Utilisateur interactif », le serveur est exécuté dans l’identité de l’utilisateur actuellement connecté et connecté au bureau interactif.
Sinon, le mot de passe est récupéré à partir d’une partie du Registre disponible uniquement pour les administrateurs de l’ordinateur et pour le système. Le nom d’utilisateur et le mot de passe sont ensuite utilisés pour créer une session d’ouverture de session dans laquelle le serveur est exécuté. Lorsqu’il est lancé de cette façon, l’utilisateur s’exécute avec sa propre station de bureau et de fenêtre et ne partage pas de handles de fenêtre, le Presse-papiers ou d’autres éléments d’interface utilisateur avec l’utilisateur interactif ou d’autres utilisateurs s’exécutant dans d’autres comptes d’utilisateur.
Pour établir un mot de passe pour une classe d'RunAs, vous devez utiliser l’outil d’administration DCOMCNFG installé dans le répertoire système.
Pour identités d’identification utilisées par les serveurs DCOM, le compte d’utilisateur spécifié dans la valeur doit avoir les droits de se connecter en tant que tâche de traitement par lots. Ce droit peut être ajouté à l’aide de l’outil d’administration de la stratégie de sécurité locale. Accédez à stratégies locales et ouvrez attribution des droits utilisateur. Sélectionnez connexion en tant que tâche de traitement par lots, puis ajoutez le compte d’utilisateur.
La valeur RunAs n’est pas utilisée pour que les serveurs configurés soient exécutés en tant que services. Les services COM qui doivent s’exécuter sous une identité autre que LocalSystem doivent définir le nom d’utilisateur et le mot de passe appropriés à l’aide de l’applet du panneau de configuration des services ou des fonctions du contrôleur de service. (Pour plus d’informations sur ces fonctions, consultez Services.)
Note
Depuis Microsoft Windows Server 2003, la classe AppID est explicitement lue à partir de HKEY_LOCAL_MACHINE\SOFTWARE\Classes\AppID, qui, contrairement à la plupart des clés de Registre, n’est pas interchangeable avec HKEY_CLASSES_ROOT\AppID.
Rubriques connexes