'Run As & # 8230;' ne crée pas correctement l'environnement utilisateur
-
03-07-2019 - |
Question
Mon application C # se bloque dans certaines circonstances lorsqu'elle est exécutée avec un utilisateur non-administrateur.
Je rencontre un problème avec Windows Server 2003 et j'essaie de trouver plus d'informations à ce sujet. Cela peut poser problème sur d’autres systèmes d’exploitation Windows.
Il semble que si je crée un utilisateur non-administrateur, puis que j'exécute mon application sous cet utilisateur avec la commande "Exécuter en tant que ...", l'environnement de l'utilisateur ne soit pas configuré correctement et la variable d'environnement TEMP. pointe sur C: \ Windows \ Temp au lieu que les utilisateurs aient leur propre dossier Temp dans le profil Documents and Settings. L'utilisateur ne dispose pas des autorisations sur ce dossier. Par conséquent, l'application se bloque avec le compilateur .Net JIT qui tente d'écrire / de lire dans ce dossier.
Si je me connecte en tant qu'utilisateur, la situation est toujours incorrecte. Je ne reçois pas l'environnement préparé comme d'habitude lorsque vous vous connectez à un nouvel utilisateur, et mon application ne fonctionnera toujours pas sans se planter au démarrage. En fait, j'ai réalisé que l'utilisateur ne pouvait pas exécuter calc.exe ou d'autres programmes du dossier Windows. Il semble que leur environnement soit perturbé en permanence et je suppose que la seule solution consiste à supprimer leur profil.
Si je crée un utilisateur non-administrateur et que je me connecte en tant que tel avant de lancer "Exécuter en tant que", l'environnement est correctement configuré et mon application fonctionne.
Je ne trouve aucune information sur ce problème ni aucune note indiquant si Microsoft en a pris acte. Avez-vous vécu cette expérience ou savez-vous où je peux chercher pour en savoir plus?
La solution
Pensez à utiliser des runas avec un profil pour l'utilisateur si vous ne l'êtes pas.
C: \ temp > runas RUNAS USAGE:
RUNAS [ [/noprofile | /profile] [/env] [/netonly] ] /user: program RUNAS [ [/noprofile | /profile] [/env] [/netonly] ] /smartcard [/user:] program/ noprofile spécifie que le profil de l'utilisateur ne doit pas être chargé. Cela provoque le chargement plus rapide de l'application, mais peut entraîner un dysfonctionnement de certaines applications.
/ profile spécifie que le Le profil de l'utilisateur doit être chargé. C'est la valeur par défaut. / env à utiliser environnement actuel au lieu de l'utilisateur. / netonly utiliser si le les informations d'identification spécifiées sont pour la télécommande accès seulement. / savecred pour utiliser les informations d'identification précédemment enregistré par l'utilisateur. Cette option n'est pas disponible sur Windows XP Home. Édition et sera ignoré. / utilisation de la carte à puce si les informations d'identification doivent être fournies de carte à puce. / utilisateur devrait être sous la forme USER @ DOMAIN ou DOMAIN \ USER
programme en ligne de commande pour EXE. Voir ci-dessous pour des exemplesExemples:
runas / noprofile / user: mymachine \ administrateur cmd
runas / profile / env / user: mydomain \ admin " mmc% windir% \ system32 \ dsa.msc "
runas / env /user:user@domaine.microsoft.com "bloc-notes" "mon fichier.txt", "
REMARQUE: Entrez le mot de passe de l'utilisateur uniquement lorsque invité. REMARQUE: USER @ DOMAIN n'est pas compatible avec / netonly. REMARQUE: / profile n'est pas compatible avec / netonly.