Click here to Skip to main content
Rate this: bad
good
Please Sign up or sign in to vote.
See more: VBScript
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
	credentialsCollection.AddElement(addElement)
 
adminManager.CommitChanges()
 
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"
   authorizationRulesCollection.AddElement(scopeElement)
Else
   Set scopeElement = authorizationRulesCollection.Item(scopeElementPos)
End If
 
Set scopeCollection = scopeElement.Collection
Set addElement = scopeCollection.CreateNewElement("add")
addElement.Properties.Item("name").Value = userName
scopeCollection.AddElement(addElement)
 
adminManager.CommitChanges()
end sub
 

Posted 28-Feb-12 10:39am

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

  Print Answers RSS
0 OriginalGriff 475
1 Maciej Los 349
2 Richard MacCutchan 220
3 BillWoodruff 219
4 Mathew Soji 160
0 OriginalGriff 8,759
1 Sergey Alexandrovich Kryukov 7,407
2 DamithSL 5,639
3 Maciej Los 5,269
4 Manas Bhardwaj 4,986


Advertise | Privacy | Mobile
Web01 | 2.8.1411028.1 | Last Updated 28 Feb 2012
Copyright © CodeProject, 1999-2014
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