Este ejemplo de red de Windows Script Host muestra cómo un administrador de red puede utilizar una secuencia de comandos en varios equipos remotos de la red. La secuencia de comandos realiza varias tareas administrativas útiles, como:
Nota WMI es una tecnología eficaz y sofisticada basada en Web Based Enterprise Management (WBEM). WMI se utiliza principalmente para la instrumentación y el acceso a la información de administración de un entorno empresarial. Para obtener más información acerca de WMI, consulte Microsoft Windows Management Instrumentation: Background and Overview, en la dirección (http://msdn.microsoft.com/library/default.asp?URL=/library/backgrnd/html/wmixwdm.asp).
El administrador debe establecer la configuración de seguridad necesaria en los equipos remotos. Para obtener más información, consulte Configurar WSH remoto. A continuación, debe copiar y pegar el ejemplo en el procesador de secuencias de comandos y modificar las constantes para que correspondan a las rutas de acceso de red y a los nombres de los equipos remotos. Por último, el administrador puede ejecutar la secuencia de comandos.
Para ejecutar este ejemplo
var oController = new ActiveXObject"WSHController"
var oProcess = oController.CreateScript "c:\MiDirectorioLocal\\AdminScript.vbs", "remmachine"
oProcess.Execute()
while (oProcess.Status != 2)
WScript.Sleep(100)
WScript.Echo"Terminado"
' Ejemplo de administración de WSH remoto AdminScript.vbs
'
' El código de este ejemplo realiza algunas tareas administrativas
' que son habituales para un administrador de red
' en el trabajo diario: crea un directorio público, lo llena
' con algunos archivos y lo comparte. También configura
' la conexión de los equipos con la impresora predeterminada.
' Tenga en cuenta que, para reducir el tamaño del código, el control
' de errores no está incluido. Si se utilizara en un entorno de producción real
' el control de errores sería necesario, pues muchas de estas operaciones
' pueden producir errores (por ejemplo, espacio insuficiente en disco).
Option Explicit
Dim FSO
Dim Servicios
Dim SecDescClase
Dim SecDesc
Dim Confianza
Dim ACE
Dim Recurso
Dim InParam
Dim Red
Const NombreCarpeta = "C:\Public"
Const ServidorAdmin = "\\EquipoAdmin"
Const NombreRecurso = "Pubs"
Const RecursoImpresora = "\\ImpresorasCorp\RecursoImpresora"
' Primero se agrega una impresora a este equipo y se configura como predeterminada.
Set Red = CreateObject("WScript.Network")
Network.AddWindowsPrinterConnection RecursoImpresora
Network.SetDefaultPrinter RecursoImpresora
' Después se crea una carpeta y se copian algunos archivos.
Set FSO = CreateObject("Scripting.FileSystemObject")
If Not FSO.FolderExists(NombreCarpeta) Then
FSO.CreateFolder(NombreCarpeta)
End If
Call FSO.CopyFile(ServidorAdmin & "\Public\Imagenes\*.*", NombreCarpeta)
' Utiliza WMI para crear un recurso compartido en la carpeta
' Consulte el SDK de WMI para obtener información acerca de este código.
Set Servicios = GetObject("WINMGMTS:{impersonationLevel=impersonate,(Security)}!" & ServidorAdmin & "\ROOT\CIMV2")
Set SecDescClase = Servicios.Get("Win32_SecurityDescriptor")
Set SecDesc = SecDescClase.SpawnInstance_()
Set Confianza = Servicios.Get("Win32_Trustee").SpawnInstance_
Confianza.Domain = Null
Confianza.Name = "EVERYONE"
Confianza.Properties_.Item("SID") = Array(1, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0)
Set ACE = Servicios.Get("Win32_Ace").SpawnInstance_
ACE.Properties_.Item("AccessMask") = 2032127
ACE.Properties_.Item("AceFlags") = 3
ACE.Properties_.Item("AceType") = 0
ACE.Properties_.Item("Trustee") = Confianza
SecDesc.Properties_.Item("DACL") = Array(ACE)
Set Recurso = Servicios.Get("Win32_Share")
Set InParam = Recurso.Methods_("Create").InParameters.SpawnInstance_()
InParam.Properties_.Item("Access") = SecDesc
InParam.Properties_.Item("Description") = "Recurso compartido público"
InParam.Properties_.Item("Name") = NombreRecurso
InParam.Properties_.Item("Path") = NombreCarpeta
InParam.Properties_.Item("Type") = 0
Share.ExecMethod_("Create", InParam)
' Esto es todo.
Introducción a Windows Scripting Host | Acceso a redes | Configurar WSH remoto | Ejecutar secuencias de comandos de forma remota
| Ayuda de Javascript y Vbscript para Javascripts.astalaweb.com. |