Conférence pratique WSH --- Conférence 2 Création d'utilisateurs, de répertoires et de sites
Auteur:Eve Cole
Date de mise à jour:2009-05-30 19:53:49
Cours 2 Création d'utilisateurs, d'annuaires et de sites
-------------------------------------------------- ----------------------------------
Cette conférence utilisera ADSI, qui est l'interface de service Active Directory. Vous pouvez trouver des informations connexes sur 15Seconds.com.
1. Créez un utilisateur. Le code suivant crée l'utilisateur user1 sur le serveur indépendant blanc. Le mot de passe initial est user1 et ADSI est utilisé.
Code:
-------------------------------------------------- ----------------------------------
Dim Nom d'utilisateur, UserPass Dim oDomain, oUser Nom d'utilisateur = "user1" UserPass = "user1" Set oDomain =
GetObject("WinNT://white") Set oUser = oDomain.Create ("user", UserName) If (err.number = 0) Then
oUser.SetInfo oUser.SetPassword UserPass oUser.SetInfo Else WScript.Echo "Créer un utilisateur" & UserName & "Error End If Set oUser = Nothing Set oDomain = Nothing
-------------------------------------------------- ----------------------------------
2. Créez un répertoire Utilisez FileSystemObject pour créer un répertoire :
Code:
-------------------------------------------------- ----------------------------------
Dim FsObject Dim tmpFolder Set FsObject = WScript.CreateObject("Scripting.FileSystemObject")
tmpFolder = "D:userdateuser1" Si ce n'est pas FsObject.FolderExists(tmpFolder) Alors
FsObject.CreateFolder(tmpFolder) Si Err.Number<>0 Then WScript.Echo "Créer un répertoire" & tmpFolder
& "Échec!" Fin si Fin si
-------------------------------------------------- ----------------------------------
Notez qu'avant de créer le répertoire, vérifiez si le répertoire existe. S'il existe, il n'est pas nécessaire de le créer.
3. Créer un site Le sous-programme suivant est responsable de la création d'un site WWW. La signification de chaque paramètre est : l'adresse IP du site, le répertoire racine du site, la description du site, le nom d'hôte, le numéro de port, le nom de l'ordinateur (changé en LOCALHOST), s'il faut le faire. démarrer immédiatement, le compte utilisé pour l'accès anonyme, le mot de passe du compte utilisé pour l'accès anonyme et le répertoire du fichier LOG.
La fonction renvoie le numéro de série du site créé dans IIS (dans IIS, tous les sites sont numérotés séquentiellement, le premier étant 1).
Un exemple d'appel :
Code:
-------------------------------------------------- ----------------------------------
identifiant du site =
ASTCreateWebSite"10.1.3.122","d:userdatauser1","www_user1","","80","LocalHost",True,"IUSR_user1","8iui%
#","D:Logfiles")Fonction ASTCreateWebSite(IPAddress, RootDirectory, ServerComment, HostName, PortNum,
Ordinateur, Démarrer, AnonymousUserName, AnonymousUserPass, LogFileDirectory) Dim w3svc, WebServer,
NewWebServer, NewDir Dim Bindings, BindingString, NewBindings, Index, SiteObj, bDone en cas d'erreur
Reprendre le prochain Err.Clear Définir w3svc = GetObject("IIS://" & Computer & "/w3svc") Si
Err.Number <> 0 Then WScript.Echo "Impossible d'ouvrir : "&"IIS://" & Computer & "/w3svc" & VbCrlf & "Le programme se fermera (1) End If BindingString = IpAddress." & ":" & Numéro de port & ":" &
Nom d'hôte pour chaque serveur Web dans w3svc Si WebServer.Class = "IIsWebServer" Alors
Bindings = WebServer.ServerBindings Si BindingString = Bindings(0) Alors
WScript.Echo "Conflit d'adresse IP :" & IpAddress & ", Veuillez vérifier l'adresse IP !." & VbCrlf & "Annuler la création de ce site."
Quitter la fonction Fin si fin si index suivant = 1 bDone = False
While (Pas bDone) Err.Clear Set SiteObj = GetObject("IIS://"&Computer&"/w3svc/" &
Index) Si (Err.Number = 0) Alors Index = Index + 1 Sinon
Err.Clear Définir NewWebServer = w3svc.Create("IIsWebServer", Index) Si
(Err.Number <> 0) Alors Index = Index + 1 Sinon Err.Clear
Définir SiteObj = GetObject("IIS://"&Computer&"/w3svc/" & Index) Si
(Err.Number = 0) Alors bDone = True Else Index
= Indice + 1 Fin Si Fin Si Fin Si Si (Index > 10000)
Puis WScript.Echo "Il semble que le site ne puisse pas être créé. Le numéro de série du site en cours de création est : "&Index&"." & VbCrlf & "Exit Function End If Wend NewBindings = Array( 0)
NewBindings(0) = BindingString NewWebServer.ServerBindings = NewBindings
NewWebServer.ServerComment = ServerComment NewWebServer.AnonymousUserName = AnonymousUserName
NewWebServer.AnonymousUserPass = AnonymousUserPass NewWebServer.KeyType = "IIsWebServer"
NewWebServer.FrontPageWeb = Vrai NewWebServer.EnableDefaultDoc = Vrai NewWebServer.DefaultDoc
= "Default.htm, Default.asp, Index.htm, Index.asp" NewWebServer.LogFileDirectory = LogFileDirectory
NewWebServer.SetInfo Définir NewDir = NewWebServer.Create("IIsWebVirtualDir", "ROOT")
NewDir.Path = RootDirectory NewDir.AccessRead = true NewDir.AppFriendlyName = "Application" &
ServerComment NewDir.AppCreate True NewDir.AccessScript = True Err.Clear
NewDir.SetInfo If (Err.Number = 0) Then Else WScript.Echo "Erreur lors de la création du répertoire personnel."
Fin Si Si Début = Vrai Alors Err.Clear Définir NewWebServer = GetObject("IIS://"
& Ordinateur & "/w3svc/" & Index) NewWebServer.Start Si Err.Number <> 0 Alors
WScript.Echo "Erreur de démarrage du site!" Err.Clear Else End If End If
ASTCreateWebSite = IndexEnd Function La fonction suivante crée un site FTP : Function ASTCreateFtpSite(IPAddress,
RootDirectory, ServerComment, HostName, PortNum, Computer, Start, LogFileDirectory) Dim MSFTPSVC,
FtpServer, NewFtpServer, NewDir Dim Liaisons, BindingString, NewBindings, Index, SiteObj, bDone
En cas d'erreur, reprendre le prochain Err.Clear Définir MSFTPSVC = GetObject("IIS://" & Computer & "/MSFTPSVC")
Si Err.Number <> 0 Alors WScript.Echo "Impossible d'ouvrir : "&"IIS://" & Ordinateur & "/MSFTPSVC" & VbCrlf
& "Le programme va se fermer." WScript.Quit (1) End If BindingString = IpAddress & ":" & PortNum
& ":" & HostName pour chaque FtpServer dans MSFTPSVC Si FtpServer.Class="IIsFtpServer" Alors
Bindings = FtpServer.ServerBindings Si BindingString = Bindings(0) Alors
WScript.Echo "Conflit d'adresse IP :" & IpAddress & ",Veuillez vérifier l'adresse IP !." & VbCrlf & "Annuler la création de ce site."
Fonction End If End If Next Index = 1 bDone = False While
(Pas bDone) Err.Clear Set SiteObj = GetObject("IIS://"&Computer&"/MSFTPSVC/" & Index)
Si (Err.Number = 0) Alors Index = Index + 1 Sinon Err.Clear
Définir NewFtpServer = MSFTPSVC.Create("IIsFtpServer", Index) If (Err.Number <>
0) Alors Index = Index + 1 Else Err.Clear
Définir SiteObj = GetObject("IIS://"&Computer&"/MSFTPSVC/" & Index) If (Err.Number = 0)
Alors bDone = True Else Index = Index + 1
Fin si Fin si Fin si si (Index > 10000) Alors
WScript.Echo "Il semble que le site ne puisse pas être créé. Le numéro de série du site en cours de création est : "&Index&"." & VbCrlf & "Annuler la création de ce site."
Quitter la fin de la fonction si Wend NewBindings = Array(0) NewBindings(0) =
BindingString NewFtpServer.ServerBindings = NewBindings NewFtpServer.ServerComment =
ServerComment NewFtpServer.AllowAnonymous = False NewFtpServer.AccessWrite = True
NewFtpServer.AccessRead = Vrai NewFtpServer.DontLog = Faux NewFtpServer.LogFileDirectory =
LogFileDirectory NewFtpServer.SetInfo Définir NewDir = NewFtpServer.Create
("IIsFtpVirtualDir", "ROOT") NewDir.Path = RootDirectory NewDir.AccessRead = true
Err.Clear NewDir.SetInfo If (Err.Number = 0) Then Else WScript.Echo "Une erreur s'est produite lors de la création du répertoire personnel." End If If Start = True Then Err.Clear Set NewFtpServer =
GetObject("IIS://" & Ordinateur & "/MSFTPSVC/" & Index) NewFtpServer.Start If
Err.Number <> 0 Then WScript.Echo "Erreur de démarrage du site !" Err.Clear Else
Fin si fin si ASTCreateFtpSite = fonction IndexEnd
-------------------------------------------------- ----------------------------------