Click here to Skip to main content
13,093,097 members (63,995 online)
Rate this:
Please Sign up or sign in to vote.
See more:
I am trying to set up a server for use at a university for our IS program. I have been working on a script to automate the process of creating users for the students. This server will be used for web application development. So far I have everything working but am stuck with a portion of my script. I want to be able to enter a student's name, generate a random password, create an FTP folder, and assign the user name to IIS manager users for FTP isolation. the problem I am having is that it does not seem to be setting the passwords, as I cannot log in as one of the users that are created until I manually enter a password. Here is the portion of the script where I assign the users to IIS manager. I will include more if needed.

sub iisUser (userName, newpass)
	Set adminManager = WScript.CreateObject("Microsoft.ApplicationHost.WritableAdminManager")
	adminManager.CommitPath = "MACHINE/WEBROOT"
	adminManager.SetMetadata "pathMapper", "AdministrationConfig"
	Set authenticationSection = adminManager.GetAdminSection("system.webServer/management/authentication", "MACHINE/WEBROOT")
	Set credentialsCollection = authenticationSection.ChildElements.Item("credentials").Collection
	Set addElement = credentialsCollection.CreateNewElement("add")
	addElement.Properties.Item("name").Value = userName
	addElement.Properties.Item("password").Value = newpass
	addElement.Properties.Item("enabled").Value = True
end sub

sub iisAuthorization (userName, newpass)
Set adminManager = WScript.CreateObject("Microsoft.ApplicationHost.WritableAdminManager")
adminManager.CommitPath = "MACHINE/WEBROOT"
adminManager.SetMetadata "pathMapper", "AdministrationConfig"
Set authorizationSection = adminManager.GetAdminSection("system.webServer/management/authorization", "MACHINE/WEBROOT")
Set authorizationRulesCollection = authorizationSection.ChildElements.Item("authorizationRules").Collection
scopeElementPos = FindElement(authorizationRulesCollection, "scope", Array("path", "/ISFTP"))
If scopeElementPos = -1 Then
   Set scopeElement = authorizationRulesCollection.CreateNewElement("scope")
   scopeElement.Properties.Item("path").Value = "/ISFTP"
   Set scopeElement = authorizationRulesCollection.Item(scopeElementPos)
End If
Set scopeCollection = scopeElement.Collection
Set addElement = scopeCollection.CreateNewElement("add")
addElement.Properties.Item("name").Value = userName
end sub
Posted 28-Feb-12 9:39am

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)

  Print Answers RSS
Top Experts
Last 24hrsThis month

Advertise | Privacy |
Web01 | 2.8.170813.1 | Last Updated 28 Feb 2012
Copyright © CodeProject, 1999-2017
All Rights Reserved. Terms of Service
Layout: fixed | fluid

CodeProject, 503-250 Ferrand Drive Toronto Ontario, M3C 3G8 Canada +1 416-849-8900 x 100