Vous avez quelques options, bien que cette question appartienne à ServerFault IMAO Si l'ordinateur est joint dans un domaine, ajoutez le groupe qui contient le compte d'appui dans le script de post-installation. Comme si,
([adsi]"WinNT://./Administrators,group").Add("WinNT://domain/supportGroup,group")
Cela ajoutera le domaine \ dans le groupe de parole Admi locale nistrateurs, de sorte que tout membre du premier groupe se voit accorder des autorisations via l'appartenance au groupe de domaine. Tirer parti de l'appartenance à un groupe pour la sécurité est une pratique exemplaire. L'inconvénient de s'appuyer sur les groupes de domaine est que si l'ordinateur est incapable de se connecter au domaine, la connexion en tant que membre de supportGroup échoue - sauf si vous avez des informations d'identification mises en cache.
Pour les ordinateurs non-domaine, vous n'avez pas de chance. On pourrait créer un compte et stocker des informations d'identification dans un fichier obfuscated. Base64 fonctionne plutôt bien. Après avoir créé l'utilisateur, remplacez et supprimez le fichier. Cela empêchera les utilisateurs qui se comportent bien de découvrir accidentellement le mot de passe, mais ne fera pratiquement rien pour les utilisateurs malveillants.
Une autre approche serait basée, disons, en utilisant un algorithme pour le mot de passe. En générant un basé sur le nom de l'ordinateur et autres joyeusetés, vous n'avez pas besoin de coder en dur le mot de passe. Là encore, il suffit de lire le code source pour fournir le mot de passe, de sorte que vous n'avez plus de chance contre les utilisateurs malveillants. C'est tout à fait une vulnérabilité que toute personne découvrant l'algorithme aurait un accès privilégié à tous les systèmes, donc pensez très soigneusement si c'est la façon de procéder.
Comment quelqu'un se connecterait-il en tant que cet utilisateur si personne ne connaît le mot de passe? Ou est-ce une sorte d'utilisateur "temporaire" qui est supprimé à la fin du script? Pouvez-vous décrire votre cas d'utilisation de manière un peu plus détaillée? –
L'utilisateur est utilisé pour démarrer certains processus avec des droits d'administration. L'utilisateur final ne devrait cependant pas connaître le mot de passe. – ChriPf
Compris. Une option serait de regarder en utilisant le [Windows Data Protection API] (https://msdn.microsoft.com/en-gb/library/ms995355.aspx). Cela vous permet de crypter des données en utilisant le mot de passe de l'utilisateur connecté (c'est-à-dire l'utilisateur exécutant votre script/programme). Si c'est l'utilisateur final, cela ne fournira pas beaucoup de protection. Cependant, si c'est un compte de service, il peut fournir une protection efficace. –