Aula Prática WSH --- Aula 2 Criando Usuários, Diretórios e Sites
Autor:Eve Cole
Data da Última Atualização:2009-05-30 19:53:49
Aula 2 Criando usuários, diretórios e sites
-------------------------------------------------- ----------------------------------
Esta palestra usará ADSI, que é a interface de serviço do Active Directory. Você pode encontrar algumas informações relacionadas em 15Seconds.com.
1. Crie um usuário O código a seguir cria o usuário user1 no servidor independente branco. A senha inicial é user1 e ADSI é usado.
Código:
-------------------------------------------------- ----------------------------------
Dim Nome de usuário,UserPass Dim oDomain,oUser Nome de usuário = "user1" UserPass = "user1" Definir oDomain =
GetObject("WinNT://white") Definir oUser = oDomain.Create ("usuário", UserName) If (err.number = 0) Então
oUser.SetInfo oUser.SetPassword UserPass oUser.SetInfo Else WScript.Echo "Criar usuário" & UserName & "Error!"
-------------------------------------------------- ----------------------------------
2. Crie um diretório Use FileSystemObject para criar um diretório:
Código:
-------------------------------------------------- ----------------------------------
Dim FsObject Dim tmpFolder Set FsObject = WScript.CreateObject("Scripting.FileSystemObject")
tmpFolder = "D:userdateuser1" Se não for FsObject.FolderExists(tmpFolder) Então
FsObject.CreateFolder (tmpFolder) Se Err.Number<>0 Então WScript.Echo "Criar diretório" & tmpFolder
& "Falha!" Fim se Fim se
-------------------------------------------------- ----------------------------------
Observe que antes de criar o diretório, verifique se o diretório existe. Se existir, não há necessidade de criá-lo.
3. Crie um site A sub-rotina a seguir é responsável por criar um site WWW. O significado de cada parâmetro é: endereço IP do site, diretório raiz do site, descrição do site, nome do host, número da porta, nome do computador (alterado para LOCALHOST), se deseja. inicie imediatamente, a conta usada para acesso anônimo, a senha da conta usada para acesso anônimo e o diretório do arquivo LOG.
A função retorna o número de série do site criado no IIS (no IIS, todos os sites são numerados sequencialmente, sendo o primeiro 1).
Um exemplo de chamada:
Código:
-------------------------------------------------- ----------------------------------
id do site =
ASTCreateWebSite"10.1.3.122","d:userdatauser1","www_user1","","80","LocalHost",True,"IUSR_user1","8iui%
#","D:Logfiles")Função ASTCreateWebSite(IPAddress, RootDirectory, ServerComment, HostName, PortNum,
Computador, Iniciar,AnonymousUserName,AnonymousUserPass,LogFileDirectory) Dim w3svc, WebServer,
NewWebServer, NewDir Dim Bindings, BindingString, NewBindings, Index, SiteObj, bDone On Error
Retomar Próximo Err.Clear Set w3svc = GetObject("IIS://" & Computer & "/w3svc") Se
Err.Number <> 0 Then WScript.Echo "Não é possível abrir: "&"IIS://" & Computer & "/w3svc" & VbCrlf & "O programa será encerrado." WScript.Quit (1) End If BindingString = IpAddress." & ":" & Número da porta & ":" &
HostName para cada WebServer em w3svc If WebServer.Class = "IIsWebServer" Then
Bindings = WebServer.ServerBindings If BindingString = Bindings(0) Então
WScript.Echo "Conflito de endereço IP:" & IpAddress & ", Verifique o endereço IP!" & VbCrlf & "Cancelar criação deste site."
Função de saída End If End If Next Index = 1 bDone = False
Enquanto (Não bDone) Err.Clear Set SiteObj = GetObject("IIS://"&Computer&"/w3svc/" &
Índice) Se (Err.Number = 0) Então Índice = Índice + 1 Caso contrário
Err.Clear Set NewWebServer = w3svc.Create("IIsWebServer", Índice) Se
(Err.Number <> 0) Então Índice = Índice + 1 Else Err.Clear
Defina SiteObj = GetObject("IIS://"&Computer&"/w3svc/" & Index) se
(Err.Number = 0) Então bDone = True Else Index
= Índice + 1 End If End If End If (Índice > 10000)
Então WScript.Echo "Parece que o site não pode ser criado. O número de série do site que está sendo criado é: "&Index&"." & VbCrlf & "Cancelar a criação deste site." 0)
NewBindings(0) = BindingString NewWebServer.ServerBindings = NewBindings
NewWebServer.ServerComment = ServerComment NewWebServer.AnonymousUserName = AnonymousUserName
NewWebServer.AnonymousUserPass = AnonymousUserPass NewWebServer.KeyType = "IIsWebServer"
NewWebServer.FrontPageWeb = Verdadeiro NewWebServer.EnableDefaultDoc = Verdadeiro NewWebServer.DefaultDoc
= "Default.htm, Default.asp, Index.htm, Index.asp" NewWebServer.LogFileDirectory = LogFileDirectory
NewWebServer.SetInfo Set NewDir = NewWebServer.Create("IIsWebVirtualDir", "ROOT")
NewDir.Path = RootDirectory NewDir.AccessRead = true NewDir.AppFriendlyName = "Aplicativo" &
ServerComment NewDir.AppCreate True NewDir.AccessScript = True Err.Clear
NewDir.SetInfo If (Err.Number = 0) Then Else WScript.Echo "Erro ao criar o diretório inicial."
End If If Start = True Then Err.Clear Set NewWebServer = GetObject("IIS://"
& Computador & "/w3svc/" & Índice) NewWebServer.Start If Err.Number <> 0 Then
WScript.Echo "Erro ao iniciar o site!" Err.Clear Else End If End If
Função ASTCreateWebSite = IndexEnd A função a seguir cria um site FTP: Função ASTCreateFtpSite(IPAddress,
RootDirectory, ServerComment, HostName, PortNum, Computador, Iniciar,LogFileDirectory) Dim MSFTPSVC,
FtpServer, NewFtpServer, NewDir Dim Bindings, BindingString, NewBindings, Index, SiteObj, bDone
Em caso de erro, retomar próximo Err.Clear Set MSFTPSVC = GetObject("IIS://" & Computer & "/MSFTPSVC")
Se Err.Number <> 0 Então WScript.Echo "Não é possível abrir: "&"IIS://" & Computador & "/MSFTPSVC" & VbCrlf
& "O programa será encerrado." WScript.Quit (1) End If BindingString = IpAddress & ":" & PortNum
& ":" & HostName para cada FtpServer em MSFTPSVC If FtpServer.Class = "IIsFtpServer" Then
Bindings = FtpServer.ServerBindings Se BindingString = Bindings(0) Então
WScript.Echo "Conflito de endereço IP:" & IpAddress & ", Verifique o endereço IP!" & VbCrlf & "Cancelar a criação deste site."
Função End If End If Next Index = 1 bDone = False While
(Não bDone) Err.Clear Set SiteObj = GetObject("IIS://"&Computer&"/MSFTPSVC/" & Index)
Se (Err.Number = 0) Então Índice = Índice + 1 Else Err.Clear
Definir NewFtpServer = MSFTPSVC.Create("IIsFtpServer", Índice) If (Err.Number <>
0) Então Índice = Índice + 1 Else Err.Clear
Definir SiteObj = GetObject("IIS://"&Computer&"/MSFTPSVC/" & Index) If (Err.Number = 0)
Então bDone = True Else Index = Index + 1
End If End If End If If (Índice > 10000) Então
WScript.Echo "Parece que o site não pode ser criado. O número de série do site que está sendo criado é: "&Index&"." & VbCrlf & "Cancelar a criação deste site."
Função de saída End If Wend NewBindings = Array(0) NewBindings(0) =
BindingString NewFtpServer.ServerBindings = NewBindings NewFtpServer.ServerComment =
ServerComment NewFtpServer.AllowAnonymous = Falso NewFtpServer.AccessWrite = Verdadeiro
NewFtpServer.AccessRead = Verdadeiro NewFtpServer.DontLog = Falso NewFtpServer.LogFileDirectory =
LogFileDirectory NewFtpServer.SetInfo Definir NewDir = NewFtpServer.Create
("IIsFtpVirtualDir", "ROOT") NewDir.Path = RootDirectory NewDir.AccessRead = true
Err.Clear NewDir.SetInfo If (Err.Number = 0) Then Else WScript.Echo "Ocorreu um erro ao criar o diretório inicial End If If Start = True Then Err.Clear Set NewFtpServer =."
GetObject("IIS://" & Computador & "/MSFTPSVC/" & Índice) NewFtpServer.Start If
Err.Number <> 0 Then WScript.Echo "Erro ao iniciar o site Err.Clear Else!"
Fim se fim se ASTCreateFtpSite = função IndexEnd
-------------------------------------------------- ----------------------------------