Quel carnet d’adresses une tâche SYSTEM parcourt-elle pour les profils VPN ?
Une tâche s’exécute sous un compte, et les profils VPN natifs sont par utilisateur sauf s’ils ont été créés pour tous les utilisateurs. Comparez les deux magasins avant de reconstruire quoi que ce soit.
Votre profil VPN se trouve juste là dans Paramètres, et la tâche planifiée signale toujours qu’elle ne trouve pas la connexion. Rien n’est corrompu : le magasin VPN natif de Windows est par utilisateur, sauf si le profil a été créé comme profil pour tous les utilisateurs, et une tâche s’exécute sous le compte que son principal désigne. La tâche lit généralement un carnet d’adresses qui n’a jamais contenu votre profil. Deux commandes et un réglage de tâche suffisent à le prouver, et ils valent la peine d’être exécutés avant que quiconque reconstruise la connexion.
Deux magasins contiennent le même nom de profil
Un profil VPN natif de Windows vit dans le magasin du compte qui l’a créé. Le magasin global est un autre carnet d’adresses, qui n’est rempli que lorsque le profil est créé avec le commutateur pour tous les utilisateurs dans une session élevée. Les deux peuvent contenir un profil du même nom, et aucun n’est une vue de l’autre.
Lisez les deux magasins depuis la même session et comparez les noms qu’ils renvoient. Le commutateur sélectionne le magasin global, et sa lecture exige généralement une session élevée :
Get-VpnConnection | Select-Object Name, ServerAddress, TunnelType
Get-VpnConnection -AllUserConnection | Select-Object Name, ServerAddress, TunnelType
Si la première commande liste le profil et que la seconde ne le fait pas, aucun changement d’identifiants n’aidera une tâche exécutée sous un autre compte, car le problème est l’appartenance et non l’authentification. Si les deux le listent, le magasin n’est pas la cause et la section suivante s’applique. Cette seule comparaison ferme la moitié de ces tickets. Notez quel magasin a répondu et sous quel compte vous avez exécuté le contrôle, car la réponse n’a aucun sens sans ces deux faits.
Lisez le principal de la tâche avant ses identifiants
Ouvrez la tâche et lisez le principal, car il vous indique quel magasin la tâche peut voir. Une tâche configurée pour s’exécuter en tant que SYSTEM n’est pas votre compte avec des droits supplémentaires : elle a son propre profil et aucun accès au carnet d’adresses par utilisateur que vous avez créé pendant votre session. Un compte de service se comporte exactement de la même manière.
L’option d’exécution que vous soyez connecté ou non change cela aussi, car la tâche n’a alors aucune session interactive dont elle pourrait emprunter les identifiants. Faites écrire whoami dans un fichier par l’action et lisez la réponse au lieu de la supposer.
Les diagnostics de votre propre terminal ne disent rien de ce problème, car ils montrent ce que voit votre compte. Exécutez la comparaison sous l’identité de la tâche via le processus approuvé dont vous disposez pour cela. Une sortie collée depuis une console d’administrateur est un autre jeu de données, pas un jeu plus privilégié. Si un tel processus n’existe pas, la tâche doit consigner elle-même la réponse, ce que prépare la dernière section.
Trouver le profil n’est pas se connecter
Un profil pour tous les utilisateurs rend la configuration visible plus largement. Il ne porte pas le mot de passe enregistré du compte qui l’a créé, et il ne remet pas à un autre compte la clé privée stockée dans votre profil utilisateur. Visibilité et identifiants utilisables sont deux tests distincts, et réussir le premier ne dit rien du second.
Si la tâche trouve maintenant le profil et échoue à l’authentification, c’est un progrès et cette étape appartient au dossier. Déplacez le certificat vers le magasin de la machine, ou fournissez le secret via le mécanisme propre au déploiement, au lieu de recréer encore le nom de la connexion. Le recréer produit la même défaillance avec un horodatage plus récent. Microsoft documente les deux portées entre lesquelles le commutateur de la cmdlet choisit.
Les défis non interactifs sont le piège derrière cette étape. Une invite de code PIN ou un code à usage unique ne peuvent pas être satisfaits par une tâche sans bureau, si bien qu’un profil qui compose parfaitement à la main peut être inutilisable sous automatisation.
Quatre champs dont le dossier de la tâche a besoin
Gardez ensemble au même endroit les valeurs qui décident du résultat, car trois d’entre elles restent généralement implicites. Le dossier a besoin de quatre lignes :
- Chemin de l’action : le script ou l’exécutable que lance la tâche, pas un raccourci qui se résout différemment pour un autre compte.
- Nom du profil : la chaîne exacte, car deux magasins peuvent contenir le même nom pointant vers des serveurs différents.
- Principal : le compte sous lequel la tâche s’exécute, et s’il dispose d’une session interactive.
- Méthode d’authentification : ce que ce principal peut réellement accomplir, par exemple un certificat du magasin de la machine plutôt qu’une clé dans votre profil utilisateur.
Ces quatre lignes répondent à la question que le ticket pose réellement, à savoir quelle configuration l’automatisation a utilisée. Elles survivent aussi à la prochaine reconstruction de la tâche, quand l’auteur d’origine n’est plus là pour expliquer pourquoi le nom importait. Sans elles, la même défaillance revient après le déploiement suivant et coûte à nouveau les mêmes heures.
Localisez l’étape atteinte par la tâche
Instrumentez l’action au lieu de deviner à partir du résultat de la dernière exécution. Un court enrobage consigne l’identité, le magasin visible et le résultat de la composition au même endroit :
whoami
Get-VpnConnection -AllUserConnection | Select-Object Name, ServerAddress
rasdial "Office"
schtasks /query /tn "VPN Connect" /v /fo LIST
La commande de composition imprime sa propre erreur, généralement plus claire qu’un échec générique de tâche. La requête renvoie le principal et le dernier code de résultat côte à côte, si bien que l’identité et le résultat sont visibles dans une seule vue. Ces deux faits décident si l’étape suivante est un changement de magasin ou un changement d’identifiants.
Enfin, distinguez une tâche qui se connecte après l’ouverture de session d’un utilisateur d’un tunnel d’appareil ou d’un flux de travail pris en charge avant l’ouverture de session. Partager un seul profil n’est un design ni pour l’un ni pour l’autre, et le champ principal vous dit lequel des trois vous avez construit. Si la connectivité doit exister avant l’ouverture de session, le magasin de profils par utilisateur est la mauvaise couche à corriger.