Cet article décrit la méthode manuelle d'utilisation de RunAs. Certains types prennent en charge les détails intégrés de RunAs. Voir Exécuter en tant qu'un autre utilisateur.
Il y a deux scénarios majeurs lors de l'utilisation de RunAs : le serveur d'authentification est accessible directement depuis votre machine ou vous avez besoin d'une authentification différée.
Ce scénario est pour quand vous êtes déjà authentifié sur un domaine/groupe de travail et vous devez passer à un autre compte du même domaine/groupe de travail.
Ce scénario est pour quand il est impossible de se connecter à votre machine en utilisant l'autre ensemble d'identifiants. Par exemple, vous devez vous connecter au domaine d'un client en utilisant votre ordinateur portable qui est sur le domaine de votre entreprise. Cela nécessitera l'utilisation du paramètre /NETONLY de RunAs.
La commande RunAs est invoquée à partir d'une entrée de type Ligne de commande. Créez l'entrée soit en appuyant sur la touche Insérer, soit en utilisant les menus. Sélectionnez le type Ligne de commande et entrez un nom pour celle-ci.
Exemple 1 : Exécuter une invite de commande en tant qu'un autre utilisateur du même groupe de travail/domaine.
Vous pouvez utiliser le bouton d'ellipse pour parcourir la commande runas.exe, mais si vous êtes dans une source de données partagée et que la session est utilisée sur divers systèmes d'exploitation, il est préférable de taper "%systemroot%\system32\runas.exe" car cela fonctionnera sur tous.
Ajouter /user:$DOMAIN$$USERNAME$, en le gardant en dehors des guillemets. Noter l'utilisation de deux variables qui tireront la valeur appropriée d'autres champs de la même session.
Ajouter le nom de l'exécutable que vous souhaitez exécuter. Le mettre entre guillemets si le chemin complet contient des espaces. Dans notre cas nous pouvons simplement ajouter CMD.
Spécifier vos identifiants dans l'onglet Hôte et Identifiants. Notez que lorsque vous ne faites pas partie d'un domaine, vous devez entrer le nom de l'ordinateur dans le champ domaine.
Dans l'onglet Événements, définir une macro de frappe.
Définir le délai initial à la valeur la plus basse qui permettra à l'invite initiale d'apparaître. Sur la plupart des systèmes, 1 seconde est suffisante.
Dans le champ Macro de frappe, entrer ce qui suit : $PASSWORD${ENTER}.
Dans l'onglet Paramètres de sécurité, il faut cocher Autoriser mot de passe dans variable. Lorsque vous exécutez votre session, une fenêtre d'invite de commande apparaît demandant le mot de passe pour l'utilisateur. La Macro de frappe le remplira après le délai de 1 seconde. Après cela, la fenêtre de commande qui s'exécute sous les différents identifiants apparaît. Notez que le titre indique l'autre identité.
Exemple 2 : Exécution de SQL Server Management Studio en tant qu'utilisateur d'un autre domaine/groupe de travail pour utiliser l'authentification Windows
Il y a de légères différences avec l'Exemple 1, mais voici la procédure complète pour vous faciliter la lecture.
Notez que la plupart de nos entrées prennent désormais en charge NetOnly en tant que fonctionnalité intégrée.
Vous pouvez utiliser le bouton d'ellipse pour parcourir la commande runas.exe, mais si vous êtes dans une source de données partagée et que la session sera utilisée sur divers systèmes d'exploitation, il est préférable de taper "%systemroot%\system32\runas.exe" car cela fonctionnera sur tous.
Ajouter /netonly /user:$DOMAIN$$USERNAME$, en le gardant en dehors des guillemets. Noter l'utilisation de deux variables qui tireront la valeur appropriée d'autres champs de la même session. Noter aussi l'utilisation du paramètre NetOnly, cela indique que les informations d'identification seront utilisées pour l'accès réseau uniquement.
Ajouter le nom de l'exécutable de Management Studio et ses paramètres. Tout cela doit être entre les mêmes guillemets doubles
SQL Server Management studio est situé à C:\Program Files (x86)\Microsoft SQL Server\110\Tools\Binn\ManagementStudio\Ssms.exe sur la plupart des machines, adapter à votre situation si ce n'est pas le même.
Mes paramètres ressemblent à ceci : -S sql.windjammer.loc -E -S est pour le nom du serveur, -E est pour utiliser l'authentification Windows, vous pouvez même spécifier la base de données en utilisant -d DB_NAME (i.e. -d rdm).
Le résultat est C:\Program Files (x86)\Microsoft SQL Server\110\Tools\Binn\ManagementStudio\Ssms.exe -S sql.windjammer.loc -E.
Décocher Utiliser Shell Execute (cela doit être fait pour la plupart des applications Windows)
Spécifier vos identifiants dans l'onglet Hôte et Identifiants. Notez que lorsque vous ne faites pas partie d'un domaine, vous devez entrer le nom de l'ordinateur dans le champ domaine.
Dans l'onglet Événements, définir une macro de frappe.
Définir le délai initial à la valeur la plus basse qui permettra à l'invite initiale d'apparaître. Sur la plupart des systèmes, 1 seconde est suffisante.
Dans le champ Macro de frappe, entrer ce qui suit : $PASSWORD${ENTER} Pour plus d'informations, consulter Auto Typing Macro.
Dans l'onglet avancé, il faut cocher Activer mot de passe dans variable. Exécuter la session et attendre que Management studio apparaisse, les utilisateurs attentifs remarqueront qu'il semble que vous fonctionnez sous vos identifiants locaux à cause de cela. Une simple requête prouvera que cela a fonctionné, réaliser une requête SELECT SUSER_NAME().