jueves, 19 de noviembre de 2015

Obtener Informacion de un sistema remoto con WMIC


A pesar que existen muchas herramientas para realizar inventario de los ordenadores de nuestra red y obtener información de los mismos, aquí les dejo una alternativa para obtener información específica de un sistema remoto desde nuestra consola.


WMIC ?
Es una utilidad de línea de comandos que simplifica el uso de Windows Management Instrumentation (WMI ) y los sistemas gestionados a través de WMI.


Importante!
Requerimientos para ejecutar correctamente la utilidad
- El servicio WMI debe estar iniciado en el sistema remoto


- Se requiere un usuario con suficientes privilegios en el sistema remoto


Algunas de las consultas que se pueden realizar con el WMIC:
Estos son solo un par de ejemplos, abajo dejare mas alias los cuales se pueden personalizar según la información que se requiera.

1.- Obtener información del sistema operativo.
wmic /node:(hostname_o_IP) /user:administrador /password:elpassword OS get Version, Caption, CountryCode, CSName, Description, InstallDate, SerialNumber, ServicePackMajorVersion, WindowsDirectory /format:list

El modificador "/format:list" al final permite que la información se visualice de una forma ordenada.

Ejemplo 1:











2.- Obtener información de los procesos
wmic /node:(hostname_o_IP) /user:administrador /password:elpassword PROCESS get Caption, CommandLine, Handle, HandleCount, PageFaults, PageFileUsage, PArentProcessId, ProcessId, ThreadCount /format:list | more

Si la información a desplegar es muy extensa siempre podemos hacer uso del "more"

Ejemplo 2:



3.- Obtener información de la tarjeta de Red
Con el wmic es posible establecer filtros medienate clausulas, como por ejemplo para este caso hacemos uso de WHERE con la misma muestrara solo las interfaces que tengan MACADDRESS asignadas. Por el contrario si se desea la informacion de todas las intefaces simplemente eliminamos -> where "MACAddress is not null"

wmic /node:(hostname_o_IP) /user:administrador /password:elpassword
NICCONFIG where "MACAddress is not null" get MACAddress, DefaultIPGateway, IPAddress, IPSubnet, DNSHostName, DNSDomain /format:list

Ejemplo 3:









4.- Obtener información de las aplicaciones instalas en el sistema y volcar los datos en un fichero.
Cada consulta que se realizar es posible volcar estos datos en un fichero .txt o .csv, para ello se agregan las siguientes opciones:

Para formato TXT
wmic /node:(hostname_o_IP) /user:administrador /password:elpassword
PRODUCT get Name, Version /format:table >> c:\novolatil\lista_de_aplicaciones.txt

Para formato CSV
wmic /node:(hostname_o_IP) /user:administrador /password:elpassword /output:lista_de_aplicaciones.csv PRODUCT get Name, Version /format:csv

Para formato html
wmic /node:192.168.71.130 /user:administrador /password:elpassword PRODUCT get Name, Version /format:htable >> lista_de_aplicaciones.html


Ejemplos 4:











Ejemplos de vista de ficheros (html y txt)


Aqui mas alias con los que puedes comprobar diferentes parámetros del sistema:

baseboardget Manufacturer, Model, Name, PartNumber, slotlayout, serialnumber, poweredon
biosget name, version, serialnumber
bootconfigget BootDirectory, Caption, TempDirectory, Lastdrive
cdromget Name, Drive, Volumename
computersystemget Name, domain, Manufacturer, Model, NumberofProcessors, PrimaryOwnerName,Username, Roles, totalphysicalmemory /format:list
cpuget Name, Caption, MaxClockSpeed, DeviceID, status
datafilewhere name='c:\\boot.ini' get Archive, FileSize, FileType, InstallDate, Readable, Writeable, System, Version
dcomappget Name, AppID /format:list
desktopget Name, ScreenSaverExecutable, ScreenSaverActive, Wallpaper /format:list
desktopmonitorget screenheight, screenwidth
diskdriveget Name, Manufacturer, Model, InterfaceType, MediaLoaded, MediaType
diskquotaget User, Warninglimit, DiskSpaceUsed, QuotaVolume
environmentget Description, VariableValue
fsdirwhere name='c:\\windows' get Archive, CreationDate, LastModified, Readable, Writeable, System, Hidden, Status
groupget Caption, InstallDate, LocalAccount, Domain, SID, Status
idecontrollerget Name, Manufacturer, DeviceID, Status
irqget Name, Status
jobget Name, Owner, DaysOfMonth, DaysOfWeek, ElapsedTime, JobStatus, StartTime, Status
loadorderget Name, DriverEnabled, GroupOrder, Status
logicaldiskget Name, Compressed, Description, DriveType, FileSystem, FreeSpace, SupportsDiskQuotas, VolumeDirty, VolumeName
memcacheget Name, BlockSize, Purpose, MaxCacheSize, Status
memlogicalget AvailableVirtualMemory, TotalPageFileSpace, TotalPhysicalMemory, TotalVirtualMemory
memphysicalget Manufacturer, Model, SerialNumber, MaxCapacity, MemoryDevices
netclientget Caption, Name, Manufacturer, Status
netloginget Name, Fullname, ScriptPath, Profile, UserID, NumberOfLogons, PasswordAge, LogonServer, HomeDirectory, PrimaryGroupID
netprotocolget Caption, Description, GuaranteesSequencing, SupportsBroadcasting,   SupportsEncryption, Status
netuseget Caption, DisplayType, LocalName, Name, ProviderName, Status
nicget AdapterType, AutoSense, Name, Installed, MACAddress, PNPDeviceID,PowerManagementSupported, Speed, StatusInfo
nicconfigget MACAddress, DefaultIPGateway, IPAddress, IPSubnet, DNSHostName, DNSDomain
nicconfigget MACAddress, IPAddress, DHCPEnabled, DHCPLeaseExpires, DHCPLeaseObtained, DHCPServer
nicconfigget MACAddress, IPAddress, DNSHostName, DNSDomain, DNSDomainSuffixSearchOrder, DNSEnabledForWINSResolution, DNSServerSearchOrder
nicconfigget MACAddress, IPAddress, WINSPrimaryServer, WINSSecondaryServer, WINSEnableLMHostsLookup, WINSHostLookupFile
ntdomainget Caption, ClientSiteName, DomainControllerAddress, DomainControllerName, Roles, Status
nteventwhere (LogFile='system' and SourceName='W32Time') get Message, TimeGenerated
nteventwhere (LogFile='system' and SourceName='W32Time' and Message like '%timesource%') get Message, TimeGenerated
nteventwhere (LogFile='system' and SourceName='W32Time' and EventCode!='29') get TimeGenerated, EventCode, Message
onboarddeviceget Description, DeviceType, Enabled, Status
osget Version, Caption, CountryCode, CSName, Description, InstallDate, SerialNumber, ServicePackMajorVersion, WindowsDirectory /format:list
osget CurrentTimeZone, FreePhysicalMemory, FreeVirtualMemory, LastBootUpTime, NumberofProcesses, NumberofUsers, Organization, RegisteredUser, Status
pagefileget Caption, CurrentUsage, Status, TempPageFile
pagefilesetget Name, InitialSize, MaximumSize
partitionget Caption, Size, PrimaryPartition, Status, Type
printerget DeviceID, DriverName, Hidden, Name, PortName, PowerManagementSupported, PrintJobDataType, VerticalResolution, Horizontalresolution
printjobget Description, Document, ElapsedTime, HostPrintQueue, JobID, JobStatus, Name, Notify, Owner, TimeSubmitted, TotalPages
processget Caption, CommandLine, Handle, HandleCount, PageFaults, PageFileUsage, PArentProcessId, ProcessId, ThreadCount
productget Description, InstallDate, Name, Vendor, Version
qfeget description, FixComments, HotFixID, InstalledBy, InstalledOn, ServicePackInEffect
quotasettingget Caption, DefaultLimit, Description, DefaultWarningLimit, SettingID, State
recoverosget AutoReboot, DebugFilePath, WriteDebugInfo, WriteToSystemLog
Registryget CurrentSize, MaximumSize, ProposedSize, Status
scsicontrollerget Caption, DeviceID, Manufacturer, PNPDeviceID
serverget ErrorsAccessPermissions, ErrorsGrantedAccess, ErrorsLogon, ErrorsSystem, FilesOpen, FileDirectorySearches
serviceget Name, Caption, State, ServiceType, StartMode, pathname
shareget name, path, status
sounddevget Caption, DeviceID, PNPDeviceID, Manufacturer, status
startupget Caption, Location, Command
sysaccountget Caption, Domain, Name, SID, SIDType, Status
sysdriverget Caption, Name, PathName, ServiceType, State, Status
systemenclosureget Caption, Height, Depth, Manufacturer, Model, SMBIOSAssetTag, AudibleAlarm, SecurityStatus, SecurityBreach, PoweredOn, NumberOfPowerCords
systemslotget Number, SlotDesignation, Status, SupportsHotPlug, Version, CurrentUsage, ConnectorPinout
tapedriveget Name, Capabilities, Compression, Description, MediaType, NeedsCleaning, Status, StatusInfo
timezoneget Caption, Bias, DaylightBias, DaylightName, StandardName
useraccountget AccountType, Description, Domain, Disabled, LocalAccount, Lockout, PasswordChangeable, PasswordExpires, PasswordRequired, SID




--

3 comentarios:

  1. Hola. He encontrado tu artículo navegando y está muy interesante. Me gustaría recabar informacion sobre los certificados instalados en el equipo remoto.
    Estaba pensando en algo que me descargara la info que hay en certmgr, en la carpeta personal/certificados del gestor.
    Se podría hacer?
    Gracias

    ResponderEliminar

Con la tecnología de Blogger.
Copyright © NoVolátil - Blog IT | Powered by Blogger
Design by Saeed Salam | Blogger Theme by NewBloggerThemes.com