管理操作系统
WMI不仅能够收集操作系统的信息,而且能够管理它的一些特性,一般通过WMI win32提供程序实现的。
1 操作系统版本和服务包级别
win32_operatingsystem代表了操作系统设置,包括以下的属性,只是其中的一部分:
buildnumber 2195
buildtype uniprocessor free
caption microsoft windows 2000 server
codeset 1252
countrycode 1
csdversion service pack 1
installdata 20050105161726.000000.300
locale 0409
name microsoft windows 2000 server|c:/winnt|/device/harddisk0/partition1
organization wmi empire inc.
oslanguage 1033
osproductsuite 16
ostype 18
registereduser bubble
serialnumber 51876-271-0497332-05765
servicepackmajorversion 1
servicepackminorversion 0
version 5.0.2195
2 window系统和引导分区信息
windows安装设置的相关信息是win32_operatingsystem类属性的一部分。系统分区是windows引导文件的位置(比如bootv.iniv、vntdetect.com或ntldr)
vwin32_bootconfiguration类也包含类似的信息
bootdirectory /winnt
caption /devicev/harddisk0/partition1
configurationpath /winnt
descrption /devicev/harddisk0/partition1
lastdrive d:
name bootconfiguration
scratchdirectory c:/documents and settings/netshowservices/local settings/temp
tempdirectory c:/documents and settings/netshowservices/local settings/temp
3 关机、重启和注销用户方法
win32_operatingsystem类提供了win32_shutdown方法,通过Flags参数允许注销、关机或重新启动本地和远程系统。
win32_shutdown方法的标记
logoff 0
shutdown 1
reboot 2
force logoff 4
force shutdown 5
force reboot 6
poweroff 8
force poweroff 12
实现win32_shutdown方法的脚本
strComputer = "."
Set objWMIService = GetObject("winmgmts:{impersonationLevel=impersonate,(shutdown)}//" & strComputer & "/root/cimv2")
Set colOperatingSystems = objWMIService.ExecQuery("Select * from Win32_OperatingSystem")
For Each objOperatingSystem in colOperatingSystems
objOperatingSystem.Win32Shutdown(0)
Next
4 系统还原选项
win32_osrecoveryconfiguration类表示还原选项。这些选项对应于这样的一些设置,可通过启动和还原对话框中的系统控制窗格Applet
访问,它们描述了系统故障(也称为BSOD,blue screen of death)期间发生的行为。
win32提供程序允许修改下面的属性:
autoreboot
debugfilepath
kerneldumponly
overwriteexistingdebugfile
sendadminalert
writedebuginfo
writetosystemlog
5 域和成员角色
win32_computersystem包含了域成员和系统角色的相关信息。
6 区域和时间设置
win32_timezone类包含了时间和时区信息。
7 计算系统正常运行时间
win32_operatingsystem还有一些特性,允许你相对简单地计算系统正常运行时间
lastbootuptime ********
installdate ********
8 启动配置
win32_computersystem包含有启动配置设置。systemstartupdelay属性是可写的,
这些设置存放在c:/boot.ini文件,这个文件控制着windows引导过程的初始化阶段。
9 页面文件设置
win32_pagefile代表windows中用于页面调度的文件。在windows操作系统家族中,页面调度是虚拟内存实现的一部分。
下面是该类的属性:
==========================================
Computer: BUBBLE
==========================================
AccessMask:
Archive: True
Caption: c:/pagefile.sys
Compressed: False
CompressionMethod:
CreationClassName: CIM_LogicalFile
CreationDate: 2008-6-25 5:56:32
CSCreationClassName: Win32_ComputerSystem
CSName: BUBBLE
Description: c:/pagefile.sys
Drive: c:
EightDotThreeFileName: c:/pagefile.sys
Encrypted: False
EncryptionMethod:
Extension: sys
FileName: pagefile
FileSize: 1572864000
FileType: 系统文件
FreeSpace:
FSCreationClassName: Win32_FileSystem
FSName: NTFS
Hidden: True
InitialSize: 1500
InstallDate: 2008-6-25 5:56:32
InUseCount:
LastAccessed: 2009-1-30 9:37:26
LastModified: 2009-1-30 9:37:26
Manufacturer:
MaximumSize: 2024
Name: C:/pagefile.sys
Path: /
Readable: True
Status: OK
System: True
Version:
Writeable: True
10 用户和系统环境变量
win32_environment表示环境设置。(和在CMD下直接输入set的效果是一样的,就是以下的设置)
ALLUSERSPROFILE=C:/Documents and Settings/All Users
APPDATA=C:/Documents and Settings/bird/Application Data
CLASSPATH=.;C:/Program Files/QuickTime/QTSystem/QTJava.zip
CommonProgramFiles=C:/Program Files/Common Files
COMPUTERNAME=BUBBLE
ComSpec=C:/WINNT/system32/cmd.exe
HOMEDRIVE=C:
HOMEPATH=/Documents and Settings/bird
LOGONSERVER=//BUBBLE
NUMBER_OF_PROCESSORS=1
OS=Windows_NT
Os2LibPath=C:/WINNT/system32/os2/dll;
Path=: /
PATHEXT=.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH
PROCESSOR_ARCHITECTURE=x86
PROCESSOR_IDENTIFIER=x86 Family 15 Model 1 Stepping 3, GenuineIntel
PROCESSOR_LEVEL=15
PROCESSOR_REVISION=0103
ProgramFiles=C:/Program Files
PROMPT=$P$G
QTJAVA=C:/Program Files/QuickTime/QTSystem/QTJava.zip
SystemDrive=C:
SystemRoot=C:/WINNT
TEMP=C:/DOCUME~1/bird/LOCALS~1/Temp
TMP=C:/DOCUME~1/bird/LOCALS~1/Temp
USERDOMAIN=BUBBLE
USERNAME=bird
USERPROFILE=C:/Documents and Settings/bird
windir=C:/WINNT
收集电源管理信息
硬件相关类继承了CIM_logicaldevice类的powermanagementcapabilities和powermanagementsupported属性。
收集设备驱动程序信息
win32_cimlogicaldecivecimdatafile类表示逻辑设备及其驱动器间的一个联合。
win32_systemdriverpnpentity代表即查即用设备及其驱动器间的联合,它有相同的格式。
管理大容量存储设备
存储管理可以分为两类:第一类处理物理设备(硬盘及其分区,如CD-ROM和软盘的可移动存储设备),第二类与逻辑驱动
器(包括网络磁盘映射)有关。
1 物理磁盘和分区
win32_diskdrive类表示物理磁盘驱动器它提供了如下的相关信息:接口类型,总磁盘大小,扇区数,磁道数,
柱面数,scsi参数和分区数等。
以下是该类的一些关键属性
==========================================
Computer: BUBBLE
==========================================
Availability:
BytesPerSector: 512
Capabilities: 3,4
CapabilityDescriptions:
Caption: IC35L060AVVA07-0
CompressionMethod:
ConfigManagerErrorCode: 0
ConfigManagerUserConfig: False
CreationClassName: Win32_DiskDrive
DefaultBlockSize:
Description: Disk drive
DeviceID: //./PHYSICALDRIVE1
ErrorCleared:
ErrorDescription:
ErrorMethodology:
Index: 1
InterfaceType: IDE
LastErrorCode:
Manufacturer: (标准磁盘驱动器)
MaxBlockSize:
MaxMediaSize:
MediaLoaded: True
MediaType: Fixed hard disk media
MinBlockSize:
Model: IC35L060AVVA07-0
Name: //./PHYSICALDRIVE1
NeedsCleaning:
NumberOfMediaSupported:
Partitions: 3
PNPDeviceID: IDE/DISKIC35L060AVVA07-0________________________VA3OA52A/5&357C0D53&0&0.1.0
PowerManagementCapabilities:
PowerManagementSupported:
SCSIBus: 0
SCSILogicalUnit: 0
SCSIPort: 0
SCSITargetId: 1
SectorsPerTrack: 63
Size: 61492193280
Status: OK
StatusInfo:
SystemCreationClassName: Win32_ComputerSystem
SystemName: BUBBLE
TotalCylinders: 7476
TotalHeads: 255
TotalSectors: 120101940
TotalTracks: 1906380
TracksPerCylinder: 255
Availability:
BytesPerSector: 512
Capabilities: 3,4
CapabilityDescriptions:
Caption: ST3120022A
CompressionMethod:
ConfigManagerErrorCode: 0
ConfigManagerUserConfig: False
CreationClassName: Win32_DiskDrive
DefaultBlockSize:
Description: Disk drive
DeviceID: //./PHYSICALDRIVE0
ErrorCleared:
ErrorDescription:
ErrorMethodology:
Index: 0
InterfaceType: IDE
LastErrorCode:
Manufacturer: (标准磁盘驱动器)
MaxBlockSize:
MaxMediaSize:
MediaLoaded: True
MediaType: Fixed hard disk media
MinBlockSize:
Model: ST3120022A
Name: //./PHYSICALDRIVE0
NeedsCleaning:
NumberOfMediaSupported:
Partitions: 4
PNPDeviceID: IDE/DISKST3120022A______________________________8.01____/5&357C0D53&0&0.0.0
PowerManagementCapabilities:
PowerManagementSupported:
SCSIBus: 0
SCSILogicalUnit: 0
SCSIPort: 0
SCSITargetId: 0
SectorsPerTrack: 63
Size: 120031511040
Status: OK
StatusInfo:
SystemCreationClassName: Win32_ComputerSystem
SystemName: BUBBLE
TotalCylinders: 14593
TotalHeads: 255
TotalSectors: 234436545
TotalTracks: 3721215
TracksPerCylinder: 255
2 可移动存储设备
win32_cdromdrive类表示cd-rom驱动器。
3 逻辑磁盘和驱动器映射
win32_logicaldisk类表示逻辑驱动器(包括软盘、可移动介质和网络映射)。
文件系统管理
文件系统管理包括收集存放在本地和远程系统上文件的相关信息,以及修改这些信息。
1 收集文件系统信息
可以收集本地或远程文件系统上各个文件的很多相关信息。例如以下所示:
AccessMask: 2032127
Archive: True
Caption: c:/documents and settings/bird/application data/microsoft/office/recent/自己动手搭建恶意软件样本行为分析环境.doc.lnk
Compressed: False
CompressionMethod:
CreationClassName: CIM_LogicalFile
CreationDate: 2009-1-30 2:35:03
CSCreationClassName: Win32_ComputerSystem
CSName: BUBBLE
Description: c:/documents and settings/bird/application data/microsoft/office/recent/自己动手搭建恶意软件样本行为分析环境.doc.lnk
Drive: c:
EightDotThreeFileName: c:/documents and settings/bird/application data/microsoft/office/recent/自己动~1.lnk
Encrypted: False
EncryptionMethod:
Extension: LNK
FileName: 自己动手搭建恶意软件样本行为分析环境.doc
FileSize: 328
FileType: 快捷方式
FSCreationClassName: Win32_FileSystem
FSName: NTFS
Hidden: False
InstallDate: 2009-1-30 2:35:03
InUseCount:
LastAccessed: 2009-1-30 2:40:43
LastModified: 2009-1-30 2:40:43
Manufacturer:
Name: c:/documents and settings/bird/application data/microsoft/office/recent/自己动手搭建恶意软件样本行为分析环境.doc.lnk
Path: /documents and settings/bird/application data/microsoft/office/recent/Readable: True
Status: OK
System: False
Version:
Writeable: True
2 ntfs权限和安全描述符
ntfs权限和其他安全设置可用win32提供程序中的CIM_Logicalfile和win32_directory类的方法来控制。安全设置是作为WIN32_securitsetting
类的实例存储的。
3 执行文件系统方法
CIM_DataFile及其子类实现了很多方法,都允许你控制文件系统。
事件日志管理
事件日志管理提供了大多数与系统管理员相关的windows事件的相关信息。
1 监控和搜索事件
win32_nteventlogfile类表示NT和windows2000系统、应用程序和安全事件日志。
2 执行事件日志方法
win32_nteventlogfile支持两种方法,简化了nt事件日志文件的管理:
cleareventlog—清除事件日志,可选创建一个存档。
backupeventlog—将事件日志被分到一个存档文件中。
共享文件夹管理
类似于文件系统管理,共享文件夹管理可分为两类—收集共享文件夹信息和执行共享文件夹的方法。
1 手机共享文件夹信息
win32_share类表示一个共享的资源(文件共享、IPC$、共享打印机)
2 执行共享文件夹方法
win32_share类中的有两种可用方法—create和delete
收集显示设备信息
CIM_videocontrollerresolution表示视频控制器支持的视频模式。
win32_desktopmonitor表示计算机配置的监视器或显示设备。
收集端口信息
win32_portconnector类表示物理连接端口,通过查询这个类实例的属性,你可以确定一个系统是否支持特定类型的端口。
InternalReferenceDesignator:
Caption: 端口连接器
ConnectorPinout:
ConnectorType: 64
CreationClassName: Win32_PortConnector
Description: 端口连接器
ExternalReferenceDesignator: USB4
InternalReferenceDesignator:
Manufacturer:
Model:
Name: 端口连接器
OtherIdentifyingInfo:
PartNumber:
PortType: 16
PoweredOn:
SerialNumber:
SKU:
Status:
Tag: Port Connector 6
Version:
Caption: 端口连接器
ConnectorPinout:
ConnectorType: 61
CreationClassName: Win32_PortConnector
Description: 端口连接器
ExternalReferenceDesignator: PS/2 Keyboard
InternalReferenceDesignator:
Manufacturer:
Model:
Name: 端口连接器
OtherIdentifyingInfo:
PartNumber:
PortType: 13
PoweredOn:
SerialNumber:
SKU:
Status:
Tag: Port Connector 7
Version:
Caption: 端口连接器
ConnectorPinout:
ConnectorType: 61
CreationClassName: Win32_PortConnector
Description: 端口连接器
ExternalReferenceDesignator: PS/2 Mouse
InternalReferenceDesignator:
Manufacturer:
Model:
Name: 端口连接器
OtherIdentifyingInfo:
PartNumber:
PortType: 14
PoweredOn:
SerialNumber:
SKU:
Status:
Tag: Port Connector 8
Version:
Caption: 端口连接器
ConnectorPinout:
ConnectorType: 23,3
CreationClassName: Win32_PortConnector
Description: 端口连接器
ExternalReferenceDesignator: Parallel Port
InternalReferenceDesignator:
Manufacturer:
Model:
Name: 端口连接器
OtherIdentifyingInfo:
PartNumber:
PortType: 5
PoweredOn:
SerialNumber:
SKU:
Status:
Tag: Port Connector 9
Version:
Caption: 端口连接器
ConnectorPinout:
ConnectorType: 21,2
CreationClassName: Win32_PortConnector
Description: 端口连接器
ExternalReferenceDesignator: Serial Port 1
InternalReferenceDesignator:
Manufacturer:
Model:
Name: 端口连接器
OtherIdentifyingInfo:
PartNumber:
PortType: 8
PoweredOn:
SerialNumber:
SKU:
Status:
Tag: Port Connector 10
Version:
Caption: 端口连接器
ConnectorPinout:
ConnectorType: 21,2
CreationClassName: Win32_PortConnector
Description: 端口连接器
ExternalReferenceDesignator: Serial Port 2
InternalReferenceDesignator:
Manufacturer:
Model:
Name: 端口连接器
OtherIdentifyingInfo:
PartNumber:
PortType: 8
PoweredOn:
SerialNumber:
SKU:
Status:
Tag: Port Connector 11
Version:
Caption: 端口连接器
ConnectorPinout:
ConnectorType: 22,3
CreationClassName: Win32_PortConnector
Description: 端口连接器
ExternalReferenceDesignator: Joystick Port
InternalReferenceDesignator:
Manufacturer:
Model:
Name: 端口连接器
OtherIdentifyingInfo:
PartNumber:
PortType: 12
PoweredOn:
SerialNumber:
SKU:
Status:
Tag: Port Connector 12
Version:
Caption: 端口连接器
ConnectorPinout:
ConnectorType: 22,3
CreationClassName: Win32_PortConnector
Description: 端口连接器
ExternalReferenceDesignator: MIDI Port
InternalReferenceDesignator:
Manufacturer:
Model:
Name: 端口连接器
OtherIdentifyingInfo:
PartNumber:
PortType: 11
PoweredOn:
SerialNumber:
SKU:
Status:
Tag: Port Connector 13
Version:
Caption: 端口连接器
ConnectorPinout:
ConnectorType: 88
CreationClassName: Win32_PortConnector
Description: 端口连接器
ExternalReferenceDesignator: Line In Jack
InternalReferenceDesignator:
Manufacturer:
Model:
Name: 端口连接器
OtherIdentifyingInfo:
PartNumber:
PortType: 29
PoweredOn:
SerialNumber:
SKU:
Status:
Tag: Port Connector 14
Version:
Caption: 端口连接器
ConnectorPinout:
ConnectorType: 88
CreationClassName: Win32_PortConnector
Description: 端口连接器
ExternalReferenceDesignator: Headphone
InternalReferenceDesignator:
Manufacturer:
Model:
Name: 端口连接器
OtherIdentifyingInfo:
PartNumber:
PortType: 29
PoweredOn:
SerialNumber:
SKU:
Status:
Tag: Port Connector 15
Version:
Caption: 端口连接器
ConnectorPinout:
ConnectorType: 88
CreationClassName: Win32_PortConnector
Description: 端口连接器
ExternalReferenceDesignator: Microphone
InternalReferenceDesignator:
Manufacturer:
Model:
Name: 端口连接器
OtherIdentifyingInfo:
PartNumber:
PortType: 29
PoweredOn:
SerialNumber:
SKU:
Status:
Tag: Port Connector 16
Version:
Caption: 端口连接器
ConnectorPinout:
ConnectorType: 88
CreationClassName: Win32_PortConnector
Description: 端口连接器
ExternalReferenceDesignator: Video Port
InternalReferenceDesignator:
Manufacturer:
Model:
Name: 端口连接器
OtherIdentifyingInfo:
PartNumber:
PortType: 28
PoweredOn:
SerialNumber:
SKU:
Status:
Tag: Port Connector 17
Version:
网络设置管理
1 收集网络适配器和协议信息
win32_networkadpater类代表网络适配器。
adaptertype属性指出网络访问协议(例如,ethernet802.3 for ethernet adapters)
win32_networkprotocol类代表网络协议参数。
win32_networkadapterconfiguration类代表网络适配器以及TCP/IP和ipx/spx协议的属性。
大多数时间你只对你的主网络适配器感兴趣,有几种方法允许你确定应选择哪个适配器,其依据的规则如下:
1)主文件位置(%systemroot%/system32/drivers/etc)。
2)在DHCP环境中—DHCPEnabled属性设为True。
3)win32_networkadapter类实例的adaptertype属性指出了媒体类型,通过查找win32_networkadapterconfiguration类的
实例,你可以发现对应网络适配器的列表。
2 执行网络方法
在你确定哪个适配器是你正在使用的主连接后,可以使用Win32_networkadapterconfiguration类的很多网络方法。
今天先到这里,呵呵,贡贺大家牛年大吉,万事胜意