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?

Était-ce utile?

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 exemples

     

Exemples:

     
    

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.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top