2008-10-17 6 views
3

Mon application C# se bloque dans certaines circonstances lorsqu'elle est exécutée avec un utilisateur non administrateur.'Exécuter sous ...' ne crée pas correctement l'environnement utilisateur

Je rencontre un problème avec Windows Server 2003 et j'essaie de trouver plus d'informations à ce sujet. Cela peut être un problème sur d'autres systèmes d'exploitation Windows.

Il semble que si je crée un utilisateur non-administrateur, puis exécutez mon application sous cet utilisateur avec la commande «Exécuter en tant que ...», l'environnement des utilisateurs n'est pas configuré correctement et l'environnement TEMP les points variables de C: \ Windows \ Temp au lieu que les utilisateurs aient leur propre dossier Temp dans le profil Documents and Settings. L'utilisateur n'a pas d'autorisations pour ce dossier, donc l'application se bloque avec le compilateur .Net JIT essaie d'écrire/lire dans ce dossier.

Si je me connecte en tant que cet utilisateur, la situation est toujours incorrecte. Je n'obtiens pas l'environnement en cours de préparation que vous obtenez normalement lors de la connexion sur un nouvel utilisateur, et mon application ne fonctionnera toujours pas sans se bloquer au démarrage. Enfait J'ai réalisé que l'utilisateur ne peut pas exécuter calc.exe ou d'autres programmes dans le dossier Windows. Il semble que leur environnement soit définitivement chamboulé et je suppose que la seule solution est de supprimer leur profil.

Si je crée un utilisateur non-administrateur et que je me connecte avant de faire un 'Exécuter en tant que', l'environnement est configuré correctement et mon application fonctionne.

Je ne trouve aucune information sur ce problème ou remarque si Microsoft le reconnaît. L'avez-vous ressenti ou savez-vous où je peux en trouver plus?

Répondre

3

Vous pouvez utiliser des runes avec un profil pour l'utilisateur si ce n'est pas le cas.

C:\temp>runas RUNAS USAGE:

RUNAS [ [/noprofile | /profile] [/env] [/netonly] ] 
     /user: program 

RUNAS [ [/noprofile | /profile] [/env] [/netonly] ] 
     /smartcard [/user:] program 

/spécifie que noprofile le profil de l'utilisateur ne doit pas être chargé. Cela provoque le chargement plus rapide de l'application, mais peut entraîner le dysfonctionnement de certaines applications./Profile spécifie que le profil de l'utilisateur doit être chargé. Ceci est la valeur par défaut./env pour utiliser environnement actuel au lieu de l'utilisateur. /utilisez uniquement si les informations d'identification spécifiées sont pour l'accès distant uniquement./savecred pour utiliser les informations d'identification précédemment enregistrées par l'utilisateur. Cette option n'est pas disponible sous Windows XP Home Edition et sera ignorée./carte à puce utilisation si les informations d'identification doivent être fournies à partir d'une carte à puce ./user doit être sous la forme USER @ DOMAIN ou DOMAIN \ USER
ligne de commande de programme pour EXE. Voir ci-dessous des exemples

Exemples:

runas /noprofile /user:mymachine\administrator cmd runas /profile /env /user:mydomain\admin "mmc %windir%\system32\dsa.msc" runas /env /user:[email protected] "notepad \"my file.txt\""

REMARQUE: Entrez le mot de passe de l'utilisateur que lorsque vous êtes invité.Remarque: USER @ DOMAIN n'est pas compatible avec/netonly. REMARQUE: /profile n'est pas compatible avec /netonly.

Questions connexes