windows脚本实例(二)
常用脚本实例:(以下都使用VBScript)
(主要讲解脚本宿主和脚本运行时,脚本创建com和脚本引擎的扩展先不讲,以后再讲)
1 Creating and Controlling Files with FSO (Scripting.FileSystemObject)
创建folder且collect 错误
' NewFolderEC.vbs
' Free example VBScript to create a folder with error-correcting Code.
' Author Guy Thomas http://computerperformance.co.uk/
' Version 2.6 - May 2005
' ---------------------------------------------------------------'
Option Explicit
Dim objFSO, objFolder, objShell, strDirectory
strDirectory = " c:\logs "
' Create the File System Object
Set objFSO = CreateObject ( " Scripting.FileSystemObject " )
' Note If..Exists. Then, Else End If construction
If objFSO.FolderExists(strDirectory) Then
Set objFolder = objFSO.GetFolder(strDirectory)
WScript.Echo strDirectory & " already created "
Else
Set objFolder = objFSO.CreateFolder(strDirectory)
WScript.Echo " Just created " & strDirectory
End If
If err.number = vbEmpty then
Set objShell = CreateObject ( " WScript.Shell " )
objShell.run ( " Explorer " & " " & strDirectory & " \ " )
Else WScript.echo " VBScript Error: " & err.number
End If
WScript.Quit
' End of Sample VBScript to create a folder with error-correcting Code
创建文件且检查文件是否已经存在
' NewFileEC.vbs
' Sample VBScript to create a file with error-correcting Code
' Author Guy Thomas http://computerperformance.co.uk/
' Version 1.6 - June 2005
' ---------------------------------------------------------------'
Option Explicit
Dim objFSO, objFolder, objShell, objFile
Dim strDirectory, strFile
strDirectory = " e:\logs "
strFile = " \Summer.txt "
' Create the File System Object
Set objFSO = CreateObject ( " Scripting.FileSystemObject " )
' Check that the strDirectory folder exists
If objFSO.FolderExists(strDirectory) Then
Set objFolder = objFSO.GetFolder(strDirectory)
Else
Set objFolder = objFSO.CreateFolder(strDirectory)
WScript.Echo " Just created " & strDirectory
End If
If objFSO.FileExists(strDirectory & strFile) Then
Set objFolder = objFSO.GetFolder(strDirectory)
Else
Set objFile = objFSO.CreateTextFile(strDirectory & strFile)
Wscript.Echo " Just created " & strDirectory & strFile
End If
set objFolder = nothing
set objFile = nothing
If err.number = vbEmpty then
Set objShell = CreateObject ( " WScript.Shell " )
objShell.run ( " Explorer " & " " & strDirectory & " \ " )
Else WScript.echo " VBScript Error: " & err.number
End If
WScript.Quit
' End of VBScript to create a file with error-correcting Code
文件的末尾增加内容
' NewTextEC.vbs
' Sample VBScript to write to a file. With added error-correcting
' Author Guy Thomas http://computerperformance.co.uk/
' Version 1.5 - August 2005
' ---------------------------------------------------------------'
Option Explicit
Dim objFSO, objFolder, objShell, objTextFile, objFile
Dim strDirectory, strFile, strText
strDirectory = " e:\logs3 "
strFile = " \Summer.txt "
strText = " Book Another Holiday "
' Create the File System Object
Set objFSO = CreateObject ( " Scripting.FileSystemObject " )
' Check that the strDirectory folder exists
If objFSO.FolderExists(strDirectory) Then
Set objFolder = objFSO.GetFolder(strDirectory)
Else
Set objFolder = objFSO.CreateFolder(strDirectory)
WScript.Echo " Just created " & strDirectory
End If
If objFSO.FileExists(strDirectory & strFile) Then
Set objFolder = objFSO.GetFolder(strDirectory)
Else
Set objFile = objFSO.CreateTextFile(strDirectory & strFile)
Wscript.Echo " Just created " & strDirectory & strFile
End If
set objFile = nothing
set objFolder = nothing
' OpenTextFile Method needs a Const value
' ForAppending = 8 ForReading = 1, ForWriting = 2
Const ForAppending = 8
Set objTextFile = objFSO.OpenTextFile _
(strDirectory & strFile, ForAppending, True )
' Writes strText every time you run this VBScript
objTextFile.WriteLine(strText)
objTextFile.Close
' Bonus or cosmetic section to launch explorer to check file
If err.number = vbEmpty then
Set objShell = CreateObject ( " WScript.Shell " )
objShell.run ( " Explorer " & " " & strDirectory & " \ " )
Else WScript.echo " VBScript Error: " & err.number
End If
WScript.Quit
' End of VBScript to write to a file with error-correcting Code
写log data到文件
'
EventLogFSOvbs
' Example VBScript to interogate the Event Log and create a file
' Author Guy Thomas http://computerperformance.co.uk/
' Version 1.8 - June 2005
' ---------------------------------------------------------'
Option Explicit
Dim objFso, objFolder, objWMI, objItem, objShell, strEventLog
Dim strFile, strComputer, strFolder, strFileName, strPath
Dim intEvent, intNumberID, intRecordNum, colLoggedEvents
' --------------------------------------------------------
' Set the folder and file name
' Set numbers
intNumberID = 17 ' Event ID Number
intRecordNum = 0
strComputer = " . "
strFileName = " \Event " & intNumberID & " .txt "
strFolder = " e:\logs\eventlog "
strPath = strFolder & strFileName
strEventLog = " 'System' "
' -----------------------------------------------------
' Section to create folder and hold file.
Set objFso = CreateObject ( " Scripting.FileSystemObject " )
If objFSO.FolderExists(strFolder) Then
Set objFolder = objFSO.GetFolder(strFolder)
Else
Set objFolder = objFSO.CreateFolder(strFolder)
Wscript.Echo " Folder created " & strFolder
End If
Wscript.Echo " Press OK and Wait 30 seconds (ish) "
Set strFile = objFso.CreateTextFile(strPath, True )
Set objWMI = GetObject ( " winmgmts: " _
& " {impersonationLevel=impersonate}!\\ " _
& strComputer & " \root\cimv2 " )
Set colLoggedEvents = objWMI.ExecQuery _
( " Select * from Win32_NTLogEvent Where Logfile = " & strEventLog)
' -----------------------------------------
' Next section loops through ID properties
For Each objItem in colLoggedEvents
If objItem.EventCode = intNumberID Then
' Second Loop to filter only if they tried Administrator
strFile.WriteLine( " Category: " & objItem.Category _
& " string " & objItem.CategoryString)
strFile.WriteLine( " ComputerName: " & objItem.ComputerName)
strFile.WriteLine( " Logfile: " & objItem.Logfile _
& " source " & objItem.SourceName)
strFile.WriteLine( " EventCode: " & objItem.EventCode)
strFile.WriteLine( " EventType: " & objItem.EventType)
strFile.WriteLine( " Type: " & objItem.Type)
strFile.WriteLine( " User: " & objItem.User)
strFile.WriteLine( " Message: " & objItem.Message)
strFile.WriteLine ( " " )
intRecordNum = intRecordNum + 1
End If
Next
' Confirms the script has completed and opens the file
Set objShell = CreateObject ( " WScript.Shell " )
objShell.run ( " Explorer " & " " & strPath & " \ " )
WScript.Quit
' End of Guy's Sample FSO VBScript
拷贝文件
' Example VBScript to interogate the Event Log and create a file
' Author Guy Thomas http://computerperformance.co.uk/
' Version 1.8 - June 2005
' ---------------------------------------------------------'
Option Explicit
Dim objFso, objFolder, objWMI, objItem, objShell, strEventLog
Dim strFile, strComputer, strFolder, strFileName, strPath
Dim intEvent, intNumberID, intRecordNum, colLoggedEvents
' --------------------------------------------------------
' Set the folder and file name
' Set numbers
intNumberID = 17 ' Event ID Number
intRecordNum = 0
strComputer = " . "
strFileName = " \Event " & intNumberID & " .txt "
strFolder = " e:\logs\eventlog "
strPath = strFolder & strFileName
strEventLog = " 'System' "
' -----------------------------------------------------
' Section to create folder and hold file.
Set objFso = CreateObject ( " Scripting.FileSystemObject " )
If objFSO.FolderExists(strFolder) Then
Set objFolder = objFSO.GetFolder(strFolder)
Else
Set objFolder = objFSO.CreateFolder(strFolder)
Wscript.Echo " Folder created " & strFolder
End If
Wscript.Echo " Press OK and Wait 30 seconds (ish) "
Set strFile = objFso.CreateTextFile(strPath, True )
Set objWMI = GetObject ( " winmgmts: " _
& " {impersonationLevel=impersonate}!\\ " _
& strComputer & " \root\cimv2 " )
Set colLoggedEvents = objWMI.ExecQuery _
( " Select * from Win32_NTLogEvent Where Logfile = " & strEventLog)
' -----------------------------------------
' Next section loops through ID properties
For Each objItem in colLoggedEvents
If objItem.EventCode = intNumberID Then
' Second Loop to filter only if they tried Administrator
strFile.WriteLine( " Category: " & objItem.Category _
& " string " & objItem.CategoryString)
strFile.WriteLine( " ComputerName: " & objItem.ComputerName)
strFile.WriteLine( " Logfile: " & objItem.Logfile _
& " source " & objItem.SourceName)
strFile.WriteLine( " EventCode: " & objItem.EventCode)
strFile.WriteLine( " EventType: " & objItem.EventType)
strFile.WriteLine( " Type: " & objItem.Type)
strFile.WriteLine( " User: " & objItem.User)
strFile.WriteLine( " Message: " & objItem.Message)
strFile.WriteLine ( " " )
intRecordNum = intRecordNum + 1
End If
Next
' Confirms the script has completed and opens the file
Set objShell = CreateObject ( " WScript.Shell " )
objShell.run ( " Explorer " & " " & strPath & " \ " )
WScript.Quit
' End of Guy's Sample FSO VBScript
'
VBScript.
Dim FSO
Set FSO = CreateObject ( " Scripting.FileSystemObject " )
FSO.CopyFile " c:\COMPlusLog.txt " , " c:\x\ "
拷贝文件夹
Dim FSO
Set FSO = CreateObject ( " Scripting.FileSystemObject " )
FSO.CopyFile " c:\COMPlusLog.txt " , " c:\x\ "
'
VBScript.
Dim FSO
Set FSO = CreateObject ( " Scripting.FileSystemObject " )
FSO.CopyFolder " c:\x " , " c:\y "
Dim FSO
Set FSO = CreateObject ( " Scripting.FileSystemObject " )
FSO.CopyFolder " c:\x " , " c:\y "
2 读写注册表
'
VBScript.
Set Sh = CreateObject ( " WScript.Shell " )
key = " HKEY_CURRENT_USER\ "
Sh.RegWrite key & " WSHTest\ " , " testkeydefault "
Sh.RegWrite key & " WSHTest\string1 " , " testkeystring1 "
Sh.RegWrite key & " WSHTest\string2 " , " testkeystring2 " , " REG_SZ "
Sh.RegWrite key & " WSHTest\string3 " , " testkeystring3 " , " REG_EXPAND_SZ "
Sh.RegWrite key & " WSHTest\int " , 123 , " REG_DWORD "
WScript.Echo Sh.RegRead(key & " WSHTest\ " )
WScript.Echo Sh.RegRead(key & " WSHTest\string1 " )
WScript.Echo Sh.RegRead(key & " WSHTest\string2 " )
WScript.Echo Sh.RegRead(key & " WSHTest\string3 " )
WScript.Echo Sh.RegRead(key & " WSHTest\int " )
Sh.RegDelete key & " WSHTest\ "
Set Sh = CreateObject ( " WScript.Shell " )
key = " HKEY_CURRENT_USER\ "
Sh.RegWrite key & " WSHTest\ " , " testkeydefault "
Sh.RegWrite key & " WSHTest\string1 " , " testkeystring1 "
Sh.RegWrite key & " WSHTest\string2 " , " testkeystring2 " , " REG_SZ "
Sh.RegWrite key & " WSHTest\string3 " , " testkeystring3 " , " REG_EXPAND_SZ "
Sh.RegWrite key & " WSHTest\int " , 123 , " REG_DWORD "
WScript.Echo Sh.RegRead(key & " WSHTest\ " )
WScript.Echo Sh.RegRead(key & " WSHTest\string1 " )
WScript.Echo Sh.RegRead(key & " WSHTest\string2 " )
WScript.Echo Sh.RegRead(key & " WSHTest\string3 " )
WScript.Echo Sh.RegRead(key & " WSHTest\int " )
Sh.RegDelete key & " WSHTest\ "
3 创建快捷方式
VBScript.
Dim Shell, DesktopPath, URL
Set Shell = CreateObject ( " WScript.Shell " )
DesktopPath = Shell.SpecialFolders( " Desktop " )
Set URL = Shell.CreateShortcut(DesktopPath & " \MSDN Scripting.URL " )
URL.TargetPath = " HTTP://MSDN.Microsoft.com/scripting/ "
URL.Save
Dim Shell, DesktopPath, URL
Set Shell = CreateObject ( " WScript.Shell " )
DesktopPath = Shell.SpecialFolders( " Desktop " )
Set URL = Shell.CreateShortcut(DesktopPath & " \MSDN Scripting.URL " )
URL.TargetPath = " HTTP://MSDN.Microsoft.com/scripting/ "
URL.Save
'
VBScript.
Set Shell = CreateObject ( " WScript.Shell " )
DesktopPath = Shell.SpecialFolders( " Desktop " )
Set link = Shell.CreateShortcut(DesktopPath & " \test.lnk " )
link.Arguments = " 1 2 3 "
link.Description = " test shortcut "
link.HotKey = " CTRL+ALT+SHIFT+X "
link.IconLocation = " app.exe,1 "
link.TargetPath = " c:\blah\app.exe "
link.WindowStyle = 3
link.WorkingDirectory = " c:\blah "
link.Save
Set Shell = CreateObject ( " WScript.Shell " )
DesktopPath = Shell.SpecialFolders( " Desktop " )
Set link = Shell.CreateShortcut(DesktopPath & " \test.lnk " )
link.Arguments = " 1 2 3 "
link.Description = " test shortcut "
link.HotKey = " CTRL+ALT+SHIFT+X "
link.IconLocation = " app.exe,1 "
link.TargetPath = " c:\blah\app.exe "
link.WindowStyle = 3
link.WorkingDirectory = " c:\blah "
link.Save
以下主要使用WMI
4 列举系统进程
'
Process.vbs
' Free Sample VBScript to discover which processes are running
' Author Guy Thomas http://computerperformance.co.uk/
' Version 1.4 - December 2005
' -------------------------------------------------------'
Option Explicit
Dim objWMIService, objProcess, colProcess
Dim strComputer, strList
strComputer = " . "
Set objWMIService = GetObject ( " winmgmts: " _
& " {impersonationLevel=impersonate}!\\ " _
& strComputer & " \root\cimv2 " )
Set colProcess = objWMIService.ExecQuery _
( " Select * from Win32_Process " )
For Each objProcess in colProcess
strList = strList & vbCr & _
objProcess.Name
Next
WSCript.Echo strList
WScript.Quit
' End of List Process Example VBScript
' Free Sample VBScript to discover which processes are running
' Author Guy Thomas http://computerperformance.co.uk/
' Version 1.4 - December 2005
' -------------------------------------------------------'
Option Explicit
Dim objWMIService, objProcess, colProcess
Dim strComputer, strList
strComputer = " . "
Set objWMIService = GetObject ( " winmgmts: " _
& " {impersonationLevel=impersonate}!\\ " _
& strComputer & " \root\cimv2 " )
Set colProcess = objWMIService.ExecQuery _
( " Select * from Win32_Process " )
For Each objProcess in colProcess
strList = strList & vbCr & _
objProcess.Name
Next
WSCript.Echo strList
WScript.Quit
' End of List Process Example VBScript
看看它的结果吗:
start stop 进程
'
StartProcessLocal.vbs
' Free example VBScript to start a process (not interactive)
' Author Guy Thomas http://computerperformance.co.uk/
' Version 1.8 - December 2005
' -------------------------------------------------------'
Option Explicit
Dim objWMIService, objProcess, objCalc
Dim strShell, objProgram, strComputer, strExe
strComputer = " . "
strExe = " Calc.exe "
' Connect to WMI
set objWMIService = getobject ( " winmgmts:// " _
& strComputer & " /root/cimv2 " )
' Obtain the Win32_Process class of object.
Set objProcess = objWMIService.Get( " Win32_Process " )
Set objProgram = objProcess.Methods_( _
" Create " ).InParameters.SpawnInstance_
objProgram.CommandLine = strExe
' Execute the program now at the command line.
Set strShell = objWMIService.ExecMethod( _
" Win32_Process " , " Create " , objProgram)
WScript.echo " Created: " & strExe & " on " & strComputer
WSCript.Quit
' End of free example of a Process VBScript
' Free example VBScript to start a process (not interactive)
' Author Guy Thomas http://computerperformance.co.uk/
' Version 1.8 - December 2005
' -------------------------------------------------------'
Option Explicit
Dim objWMIService, objProcess, objCalc
Dim strShell, objProgram, strComputer, strExe
strComputer = " . "
strExe = " Calc.exe "
' Connect to WMI
set objWMIService = getobject ( " winmgmts:// " _
& strComputer & " /root/cimv2 " )
' Obtain the Win32_Process class of object.
Set objProcess = objWMIService.Get( " Win32_Process " )
Set objProgram = objProcess.Methods_( _
" Create " ).InParameters.SpawnInstance_
objProgram.CommandLine = strExe
' Execute the program now at the command line.
Set strShell = objWMIService.ExecMethod( _
" Win32_Process " , " Create " , objProgram)
WScript.echo " Created: " & strExe & " on " & strComputer
WSCript.Quit
' End of free example of a Process VBScript
'
ProcessKillLocal.vbs
' Sample VBScript to kill a program
' Author Guy Thomas http://computerperformance.co.uk/
' Version 2.7 - December 2005
' ------------------------ -------------------------------'
Option Explicit
Dim objWMIService, objProcess, colProcess
Dim strComputer, strProcessKill
strComputer = " . "
strProcessKill = " 'calc.exe' "
Set objWMIService = GetObject ( " winmgmts: " _
& " {impersonationLevel=impersonate}!\\ " _
& strComputer & " \root\cimv2 " )
Set colProcess = objWMIService.ExecQuery _
( " Select * from Win32_Process Where Name = " & strProcessKill )
For Each objProcess in colProcess
objProcess.Terminate()
Next
WSCript.Echo " Just killed process " & strProcessKill _
& " on " & strComputer
WScript.Quit
' End of WMI Example of a Kill Process
' Sample VBScript to kill a program
' Author Guy Thomas http://computerperformance.co.uk/
' Version 2.7 - December 2005
' ------------------------ -------------------------------'
Option Explicit
Dim objWMIService, objProcess, colProcess
Dim strComputer, strProcessKill
strComputer = " . "
strProcessKill = " 'calc.exe' "
Set objWMIService = GetObject ( " winmgmts: " _
& " {impersonationLevel=impersonate}!\\ " _
& strComputer & " \root\cimv2 " )
Set colProcess = objWMIService.ExecQuery _
( " Select * from Win32_Process Where Name = " & strProcessKill )
For Each objProcess in colProcess
objProcess.Terminate()
Next
WSCript.Echo " Just killed process " & strProcessKill _
& " on " & strComputer
WScript.Quit
' End of WMI Example of a Kill Process
物理和逻辑disks
'
LogicalDisk.vbs
' Sample VBScript to interrogate a Logical disk with WMI
' Author Guy Thomas http://computerperformance.co.uk/
' Version 1.8 - November 2005
' -------------------------------------------------------------'
Option Explicit
Dim objWMIService, objItem, colItems, strComputer
On Error Resume Next
strComputer = " . "
Set objWMIService = GetObject _
( " winmgmts:\\ " & strComputer & " \root\cimv2 " )
Set colItems = objWMIService.ExecQuery _
( " Select * from Win32_LogicalDisk " )
For Each objItem in colItems
Wscript.Echo " Computer: " & objItem.SystemName & VbCr & _
" ================================== " & VbCr & _
" Drive Letter: " & objItem.Name & vbCr & _
" Description: " & objItem.Description & vbCr & _
" Volume Name: " & objItem.VolumeName & vbCr & _
" Drive Type: " & objItem.DriveType & vbCr & _
" Media Type: " & objItem.MediaType & vbCr & _
" VolumeSerialNumber: " & objItem.VolumeSerialNumber & vbCr & _
" Size: " & Int (objItem.Size / 1073741824 ) & " GB " & vbCr & _
" Free Space: " & Int (objItem.FreeSpace / 1073741824 ) & _
" GB " & vbCr & _
" Quotas Disabled: " & objItem.QuotasDisabled & vbCr & _
" Supports DiskQuotas: " & objItem.SupportsDiskQuotas & vbCr & _
" Supports FileBasedCompression: " & _
objItem.SupportsFileBasedCompression & vbCr & _
" Compressed: " & objItem.Compressed & vbCr & _
""
Next
WSCript.Quit
' End of Sample DiskDrive VBScript
' Sample VBScript to interrogate a Logical disk with WMI
' Author Guy Thomas http://computerperformance.co.uk/
' Version 1.8 - November 2005
' -------------------------------------------------------------'
Option Explicit
Dim objWMIService, objItem, colItems, strComputer
On Error Resume Next
strComputer = " . "
Set objWMIService = GetObject _
( " winmgmts:\\ " & strComputer & " \root\cimv2 " )
Set colItems = objWMIService.ExecQuery _
( " Select * from Win32_LogicalDisk " )
For Each objItem in colItems
Wscript.Echo " Computer: " & objItem.SystemName & VbCr & _
" ================================== " & VbCr & _
" Drive Letter: " & objItem.Name & vbCr & _
" Description: " & objItem.Description & vbCr & _
" Volume Name: " & objItem.VolumeName & vbCr & _
" Drive Type: " & objItem.DriveType & vbCr & _
" Media Type: " & objItem.MediaType & vbCr & _
" VolumeSerialNumber: " & objItem.VolumeSerialNumber & vbCr & _
" Size: " & Int (objItem.Size / 1073741824 ) & " GB " & vbCr & _
" Free Space: " & Int (objItem.FreeSpace / 1073741824 ) & _
" GB " & vbCr & _
" Quotas Disabled: " & objItem.QuotasDisabled & vbCr & _
" Supports DiskQuotas: " & objItem.SupportsDiskQuotas & vbCr & _
" Supports FileBasedCompression: " & _
objItem.SupportsFileBasedCompression & vbCr & _
" Compressed: " & objItem.Compressed & vbCr & _
""
Next
WSCript.Quit
' End of Sample DiskDrive VBScript
'
DiskDriveLogical.vbs
' Sample VBScript to interrogate a physical disk with WMI
' Author Guy Thomas http://computerperformance.co.uk/
' Version 2.3 - November 2005
' --------------------------------------------------------------'
Option Explicit
Dim objWMIService, objItem, colItems, strComputer
' On Error Resume Next
strComputer = " . "
Set objWMIService = GetObject ( " winmgmts:\\ " _
& strComputer & " \root\cimv2 " )
Set colItems = objWMIService.ExecQuery(_
" Select * from Win32_DiskDrive " )
For Each objItem in colItems
Wscript.Echo " Computer: " & objItem.SystemName & VbCr & _
" Status: " & objItem.Status & VbCr & _
" ================================== " & VbCr & _
" Name: " & objItem.Name & VbCr & _
" Description: " & objItem.Description & VbCr & _
" Signature: " & objItem.Signature & VbCr & _
" Manufacturer: " & objItem.Manufacturer & VbCr & _
" Model: " & objItem.Model & VbCr & _
" Size: " & Int (objItem.Size / ( 1073741824 )) & " GB " & VbCr & _
" Number of Partitions: " & objItem.Partitions & VbCr & _
" Total Cylinders: " & objItem.TotalCylinders & VbCr & _
" Tracks PerCylinder: " & objItem.TracksPerCylinder & VbCr & _
" Total Heads: " & objItem.TotalHeads & VbCr & _
" Total Sectors: " & objItem.TotalSectors & VbCr & _
" Bytes PerSector: " & objItem.BytesPerSector & VbCr & _
" Sectors PerTrack: " & objItem.SectorsPerTrack & VbCr & _
" Total Tracks: " & objItem.TotalTracks & VbCr & _
" -------- SCSI Info ---------- " & VbCr & _
" SCSI TargetId: " & objItem.SCSITargetId & VbCr & _
" SCSI Bus: " & objItem.SCSIBus & VbCr & _
" SCSI Logical Unit: " & objItem.SCSILogicalUnit & VbCr & _
" SCSI Port: " & objItem.SCSIPort
Next
WSCript.Quit
' End of Sample DiskDrive VBScript
' Sample VBScript to interrogate a physical disk with WMI
' Author Guy Thomas http://computerperformance.co.uk/
' Version 2.3 - November 2005
' --------------------------------------------------------------'
Option Explicit
Dim objWMIService, objItem, colItems, strComputer
' On Error Resume Next
strComputer = " . "
Set objWMIService = GetObject ( " winmgmts:\\ " _
& strComputer & " \root\cimv2 " )
Set colItems = objWMIService.ExecQuery(_
" Select * from Win32_DiskDrive " )
For Each objItem in colItems
Wscript.Echo " Computer: " & objItem.SystemName & VbCr & _
" Status: " & objItem.Status & VbCr & _
" ================================== " & VbCr & _
" Name: " & objItem.Name & VbCr & _
" Description: " & objItem.Description & VbCr & _
" Signature: " & objItem.Signature & VbCr & _
" Manufacturer: " & objItem.Manufacturer & VbCr & _
" Model: " & objItem.Model & VbCr & _
" Size: " & Int (objItem.Size / ( 1073741824 )) & " GB " & VbCr & _
" Number of Partitions: " & objItem.Partitions & VbCr & _
" Total Cylinders: " & objItem.TotalCylinders & VbCr & _
" Tracks PerCylinder: " & objItem.TracksPerCylinder & VbCr & _
" Total Heads: " & objItem.TotalHeads & VbCr & _
" Total Sectors: " & objItem.TotalSectors & VbCr & _
" Bytes PerSector: " & objItem.BytesPerSector & VbCr & _
" Sectors PerTrack: " & objItem.SectorsPerTrack & VbCr & _
" Total Tracks: " & objItem.TotalTracks & VbCr & _
" -------- SCSI Info ---------- " & VbCr & _
" SCSI TargetId: " & objItem.SCSITargetId & VbCr & _
" SCSI Bus: " & objItem.SCSIBus & VbCr & _
" SCSI Logical Unit: " & objItem.SCSILogicalUnit & VbCr & _
" SCSI Port: " & objItem.SCSIPort
Next
WSCript.Quit
' End of Sample DiskDrive VBScript
获得memory
'
Memory.vbs
' Sample VBScript to discover how much RAM in computer
' Author Guy Thomas http://computerperformance.co.uk/
' Version 1.3 - August 2005
' -------------------------------------------------------'
Option Explicit
Dim objWMIService, objComputer, colComputer
Dim strLogonUser, strComputer
strComputer = " . "
Set objWMIService = GetObject ( " winmgmts: " _
& " {impersonationLevel=impersonate}!\\ " _
& strComputer & " \root\cimv2 " )
Set colComputer = objWMIService.ExecQuery _
( " Select * from Win32_ComputerSystem " )
For Each objComputer in colComputer
Wscript.Echo " System Name: " & objComputer.Name _
& vbCr & " Total RAM " & objComputer.TotalPhysicalMemory
Next
WScript.Quit
' End of free example of Memory WMI / VBScript
' Sample VBScript to discover how much RAM in computer
' Author Guy Thomas http://computerperformance.co.uk/
' Version 1.3 - August 2005
' -------------------------------------------------------'
Option Explicit
Dim objWMIService, objComputer, colComputer
Dim strLogonUser, strComputer
strComputer = " . "
Set objWMIService = GetObject ( " winmgmts: " _
& " {impersonationLevel=impersonate}!\\ " _
& strComputer & " \root\cimv2 " )
Set colComputer = objWMIService.ExecQuery _
( " Select * from Win32_ComputerSystem " )
For Each objComputer in colComputer
Wscript.Echo " System Name: " & objComputer.Name _
& vbCr & " Total RAM " & objComputer.TotalPhysicalMemory
Next
WScript.Quit
' End of free example of Memory WMI / VBScript
打开百度:
Dim
objIE
Set objIE = WScript.CreateObject ( " InternetExplorer.Application " )
objIE.AddressBar = true
objIE.Visible = true
objIE.Navigate( " www.baidu.com " )
Set objIE = WScript.CreateObject ( " InternetExplorer.Application " )
objIE.AddressBar = true
objIE.Visible = true
objIE.Navigate( " www.baidu.com " )
删除你制定的services:
strComputer
=
"
.
"
Set objWMIService = GetObject ( " winmgmts: " _
& " {impersonationLevel=impersonate}!\\ " & strComputer & " \root\cimv2 " )
Set colListOfServices = objWMIService.ExecQuery _
( " Select * from Win32_Service Where Name = 'DbService' " )
For Each objService in colListOfServices
objService.StopService()
objService.Delete()
Next
Set objWMIService = GetObject ( " winmgmts: " _
& " {impersonationLevel=impersonate}!\\ " & strComputer & " \root\cimv2 " )
Set colListOfServices = objWMIService.ExecQuery _
( " Select * from Win32_Service Where Name = 'DbService' " )
For Each objService in colListOfServices
objService.StopService()
objService.Delete()
Next
internet 和server active directory 还有创建com等没有讲哦!
主要参考:
MS的document
http://computerperformance.co.uk/