Process p =newProcess();
p.StartInfo.Verb="runas";
cela fonctionne bien si je fais tourner mon programme en tant qu'Administrateur, mais lorsque la Tâche Planifiée s'exécute, il ne prend pas la "runas" en contrepartie, je pense.
Yepaaah. Excellente solution. Merci pour le partage. vous avez fait ma journée!
Une meilleure option sécuritaire pour exécuter un processus avec le login et le mot de passe est d'utiliser la SecureString classe pour crypter le mot de passe. Voici un exemple de code:
Être conscient que le stockage d'un mot de passe en texte clair dans un programme n'est jamais en sécurité tant que l'on peut consulter de la demande et de voir ce qu'il est. À l'aide de SecureString pour convertir un mot de passe stocké dans un SecureString mot de passe ne pas la rendre plus sûre, parce que le mot de passe en clair serait toujours présent.
La meilleure façon d'utiliser SecureString est de passer d'un seul caractère, la conversion à un moment quelconque qui ne nécessite pas la complète mot de passe non crypté n'importe où dans la mémoire ou sur le disque dur. Après ce caractère est converti, le programme devrait l'oublier, et puis passer à la suivante.
Ce qui pourrait être fait, je pense que en passant des personnages par le biais de la traduction en tant qu'ils sont tapé dans la console par l'utilisateur.
Je viens d'essayer d'utiliser :
cela fonctionne bien si je fais tourner mon programme en tant qu'Administrateur, mais lorsque la Tâche Planifiée s'exécute, il ne prend pas la "runas" en contrepartie, je pense.
OriginalL'auteur DomBer
Une meilleure option sécuritaire pour exécuter un processus avec le login et le mot de passe est d'utiliser la SecureString classe pour crypter le mot de passe. Voici un exemple de code:
Vous devez autoriser le code unsafe dans votre projet de propriétés.
Espérons que cette aide.
OriginalL'auteur Manuel
Si vous utilisez des tâches planifiées, vous pouvez définir l'utilisateur et le mot de passe pour la tâche à exécuter.
Utiliser les informations d'identification d'administrateur sur la tâche et vous serez amende.
Avec
Process.Start
, vous devez fournir lesUserName
etPassword
pour laProcessStartInfo
:OriginalL'auteur Oded
Être conscient que le stockage d'un mot de passe en texte clair dans un programme n'est jamais en sécurité tant que l'on peut consulter de la demande et de voir ce qu'il est. À l'aide de SecureString pour convertir un mot de passe stocké dans un SecureString mot de passe ne pas la rendre plus sûre, parce que le mot de passe en clair serait toujours présent.
La meilleure façon d'utiliser SecureString est de passer d'un seul caractère, la conversion à un moment quelconque qui ne nécessite pas la complète mot de passe non crypté n'importe où dans la mémoire ou sur le disque dur. Après ce caractère est converti, le programme devrait l'oublier, et puis passer à la suivante.
Ce qui pourrait être fait, je pense que en passant des personnages par le biais de la traduction en tant qu'ils sont tapé dans la console par l'utilisateur.
OriginalL'auteur Gil
Je l'ai trouvé, j'ai besoin de la Tâche Planifiée pour exécuter l'application avec des privilèges plus élevés dans les paramètres Généraux.
OriginalL'auteur DomBer