2010-11-08 9 views
2

Comment automatiser la création d'un utilisateur dans IIS7?Automatiser la création d'un utilisateur dans IIS7

J'utilise C#. J'ai un code qui automatise la création d'un site web, et j'ai trouvé quelques exemples pour automatiser la création d'un site FTP.

J'ai également besoin d'automatiser la création d'un utilisateur IIS pour chaque site FTP que je crée.

Je pourrais éventuellement éditer le fichier administration.config, sous Je pourrais juste ajouter un autre élément pour chaque nouvel utilisateur, mais je ne saurais pas comment définir l'attribut de mot de passe, qui est codé. De plus, il doit y avoir un moyen plus facile et plus fiable de le faire.

Les utilisateurs FTP que je dois configurer ne sont associés à aucun site Web. Ces utilisateurs se connecteront uniquement sur le site FTP et non sur un site Web.

Pour ajouter manuellement un utilisateur, je peux exécuter la fonction « Les utilisateurs du Gestionnaire IIS », puis il suffit de cliquer sur « Ajouter un utilisateur ... »

Cela ajoute une entrée dans le fichier de configuration, comme je l'ai mentionné dans mon message original. Puis, j'associe cet utilisateur à mon site FTP en ajoutant une règle d'autorisation FTP pour cet utilisateur. Pour ma configuration actuelle ... Sous IIS7, sous Service de gestion, sous "Identity Credentials", j'ai sélectionné "Informations d'identification Windows ou informations d'identification du gestionnaire IIS".

Répondre

2

Pour ajouter les utilisateurs à Administration.config vous pouvez utiliser l'API dans Microsoft.Web.Management.dll ManagementAuthentication.CreateUser, le blog suivant montre comment l'appeler de Powershell: http://blogs.msdn.com/b/carlosag/archive/2009/10/23/adding-iis-manager-users-and-permissions-through-powershell.aspx

Pour ajouter l'autorisation FTP Règle, vous pouvez utiliser Microsoft.Web.Administration.dll. Voir: http://www.iis.net/ConfigReference/system.ftpServer/security/authorization pour un exemple sur la façon de le faire.

Pensez également à utiliser Configuration Editor pour générer le code permettant d'automatiser les modifications apportées à la configuration IIS. http://blogs.iis.net/webdevelopertips/archive/2009/01/11/tip-42-did-you-know-configurationeditor-allows-you-to-generate-c-javascript-or-appcmd-script-to-update-configuration.aspx

+0

J'ai essayé d'utiliser Microsoft.Web.Manager.dll mais quand je suis allé ajouter la référence, je n'ai pas pu trouver cette DLL, ce que je m'attendais à être dans le cadre ... mais je l'ai trouvé dans le inetsrv répertoire, donc je l'ai copié dans mon répertoire de projet et ajouté la référence. (Quelque chose me dit que ce n'est pas la bonne façon d'ajouter la référence). Ensuite, j'ai appelé ManagementAuthentication.CreateUser() et ai obtenu l'erreur suivante: La section de configuration 'system.webServer/management/authentication' ne peut pas être lue car il manque une déclaration de section – Joe

+0

En outre, je jouais avec l'éditeur de configuration, mais il ne semble pas avoir accès au fichier administration.config, comme le montre l'exemple. – Joe

+0

En effet, Configuration Editor n'expose pas Administration.config, mais l'utilisation de Microsoft.Web.Management.dll qui doit se trouver dans% windir% \ system32 \ inetsrv \ est la meilleure option, car elle permet de gérer les fournisseurs personnalisés (au cas où les utilisateurs sont stockés) dans SQL ou un autre stockage). –

0

La réponse est d'utiliser:

Microsoft.Web.Management.Server.ManagementAuthentication.CreateUser (userName, mot de passe);

Cette méthode va encoder le mot de passe pour nous.

+1

Avez-vous lu ma réponse ci-dessus? C'est exactement ce que j'ai dit il y a 10 jours. –

Questions connexes