‘Este script enumera los usuarios que pertenecen a cada
‘uno de los grupos locales de un equipo
‘© Fernando Reyes [MS MVP] – Abril de 2005
‘Modified: Juansa [MS MVP Windows Server]
‘ Variables declaradas faltantes por Martin Ojeda Knapp (FIX) y TEST
‘Date: 11/04/2005
‘Revised: 15/12/2005
‘Sintaxis: UserGroupsLocal.vbs ficheroSalida
‘Exigimos la declaración de variables
Option Explicit
Dim obj_Nombre_Usuario
Dim obj_Nombre_Grupo
Dim obj_Equipo
Dim obj_Grupo
Dim obj_Shell
Dim FicheroSalida
Dim objFSO
Dim str_Equipo
Dim str_Nombre
Dim objTextFile
Dim M
Const ForReading = 1, ForWriting = 2, ForAppending = 8
‘Argumentos
If WScript.Arguments.count > 0 Then
FicheroSalida = WScript.Arguments.item(0)
Else
FicheroSalida = InputBox("Nombre del fichero a crear incluir .txt", "Gestion de usuarios")
End If
‘Creación fichero salida
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objTextFile = objFSO.OpenTextFile (FicheroSalida, ForWriting, True)
‘Equipo local
str_Equipo = "."
Set obj_Shell = CreateObject("WScript.Shell")
str_Nombre = obj_Shell.ExpandEnvironmentStrings("%COMPUTERNAME%")
‘Creamos un objeto que contiene el equipo local
Set obj_Equipo = GetObject("WinNT://" & str_Equipo & ",Computer")
‘Mostramos el nombre del equipo
WScript.Echo "Equipo: " & str_Nombre & VBCrLf
‘Filtramos los objetos del equipo para obtener los grupos
obj_Equipo.Filter = Array("Group")
‘Recorremos cada grupo uno a uno
For Each obj_Nombre_Grupo In obj_Equipo
‘Creamos un objeto que contiene al grupo actual
Set obj_Grupo = GetObject("WinNT://" & str_Equipo & "/" & obj_Nombre_Grupo.Name & ",Group")
objTextFile.WriteLine("Nombre del grupo : " & obj_Nombre_Grupo.Name)
objTextFile.WriteLine(" Descripción del grupo: " & obj_Nombre_Grupo.Name)
‘Filtramos los objetos del grupo para obtener los
‘usuarios miembros
obj_Grupo.members.Filter = Array("User")
‘Recorremos los usuarios de uno en uno
For Each obj_Nombre_Usuario In obj_Grupo.members
set M = obj_Nombre_Usuario
objTextFile.WriteLine(" " & obj_Nombre_Usuario.Name)
Next
Next
WScript.Echo "Finalizado, vea el archivo creado!"
‘Terminamos el script limpiándonos el culito
Set obj_Nombre_Usuario = Nothing
Set obj_Nombre_Grupo = Nothing
Set obj_Equipo = Nothing
Set obj_Shell = Nothing
Deja un comentario