幾段非常有用的腳本(來自微軟網站,由downmoon精心收集)  
一、在網絡硬件故障或網絡故障斷開時發送警告 
復制代碼 代碼如下:
strComputer = "."  
Set objWMIService = GetObject("winmgmts:" & strComputer & " ootwmi")  
Set colMonitoredEvents = objWMIService.ExecNotificationQuery _  
    ("Select * from MSNdis_StatusMediaDisconnect")  
Do While True  
    Set strLatestEvent = colMonitoredEvents.NextEvent  
    Wscript.Echo "A network connection has been lost:"  
    WScript.Echo strLatestEvent.InstanceName, Now  
    Wscript.Echo  
Loop 
調用方法示例:cscript 網絡斷開.vbs >> F:/test/微軟腳本/log.txt  
二、在網絡硬件連接成功或網絡故障恢復連接時發送警告  
復制代碼 代碼如下:
strComputer = "."  
Set objWMIService = GetObject("winmgmts:" & strComputer & " ootwmi")  
Set colMonitoredEvents = objWMIService.ExecNotificationQuery _  
    ("Select * from MSNdis_StatusMediaConnect")  
Do While True  
    Set strLatestEvent = colMonitoredEvents.NextEvent  
    Wscript.Echo "A network connection has been made:"  
    WScript.Echo strLatestEvent.InstanceName, Now  
    Wscript.Echo  
Loop 
調用方法示例:cscript 網絡連接.vbs >> F:/test/微軟腳本/log.txt  
三、獲取所有域用戶信息  
復制代碼 代碼如下:
Const ADS_SCOPE_SUBTREE = 2  
Set objConnection = CreateObject("ADODB.Connection")  
Set objCommand =   CreateObject("ADODB.Command")  
objConnection.Provider = "ADsDSOObject"  
objConnection.Open "Active Directory Provider"  
Set objCOmmand.ActiveConnection = objConnection  
objCommand.CommandText = _  
    "Select Name, Location from 'LDAP://DC=DomainName,DC=com' " _  
        & "Where objectClass='computer'"   
objCommand.Properties("Page Size") = 1000  
objCommand.Properties("Searchscope") = ADS_SCOPE_SUBTREE  
Set objRecordSet = objCommand.Execute  
objRecordSet.MoveFirst  
Do Until objRecordSet.EOF  
    Wscript.Echo "Computer Name: " & objRecordSet.Fields("Name").Value  
    Wscript.Echo "Location: " & objRecordSet.Fields("Location").Value  
    objRecordSet.MoveNext  
Loop 
調用方法示例:cscript 域用戶信息.vbs >> F:/test/微軟腳本/域用戶信息.txt  
四、修改文本文件內容  
復制代碼 代碼如下:
Const ForReading = 1  
Const ForWriting = 2  
Set objFSO = CreateObject("Scripting.FileSystemObject")  
Set objTextFile = objFSO.OpenTextFile("sample.ini", ForReading)  
Do Until objTextFile.AtEndOfStream  
    strNextLine = objTextFile.Readline  
    intLineFinder = InStr(strNextLine, "UserName")  
    If intLineFinder <> 0 Then  
        strNextLine = "UserName=邀月工作室"  
    End If  
    strNewFile = strNewFile & strNextLine & vbCrLf  
Loop  
objTextFile.Close  
Set objTextFile = objFSO.OpenTextFile("sample.ini", ForWriting)  
objTextFile.WriteLine strNewFile  
objTextFile.Close 
調用方法示例:ModifyFile.vbs 
附件: 
Sample.ini: 
復制代碼 代碼如下:
[OEM Install]  
ProgGroupName=  
DefaultDestDir=  
UserName=  
UserCompanyName=  
UserSerialNumber= 
五、通過腳本發送電子郵件 
從安裝了 SMTP Service 的計算機中發送電子郵件的腳本。 
腳本代碼 
復制代碼 代碼如下:
Set objEmail = CreateObject("CDO.Message")  
objEmail.From = "monitor1@fabrikam.com"  
objEmail.To = "admin1@fabrikam.com"  
objEmail.Subject = "Atl-dc-01 down"  
objEmail.Textbody = "Atl-dc-01 is no longer accessible over the network."  
objEmail.Send 
調用方法示例:SendMail.vbs 
六、在沒有 SMTP Service 的條件下發送電子郵件 
腳本設計用來在 Microsoft 的公司網絡上進行工作。 
復制代碼 代碼如下:
Set objEmail = CreateObject("CDO.Message")  
objEmail.From = "admin1@fabrikam.com"  
objEmail.To = "admin2@fabrikam.com"  
objEmail.Subject = "Server down"  
objEmail.Textbody = "Server1 is no longer accessible over the network."  
objEmail.Configuration.Fields.Item _  
    ("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2  
objEmail.Configuration.Fields.Item _  
    ("http://schemas.microsoft.com/cdo/configuration/smtpserver") = _  
        "smarthost"  
objEmail.Configuration.Fields.Item _  
    ("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = 25  
objEmail.Configuration.Fields.Update  
objEmail.Send 
調用方法示例:SendMailNoSMTP.vbs 
七、將新的記錄添加到數據庫中 
通過腳本檢索計算機聲卡的信息,然后將這些信息保存到帶有 DSN Inventory 的 ADO 數據庫中。 
復制代碼 代碼如下:
Const adOpenStatic = 3  
Const adLockOptimistic = 3  
Const adUseClient = 3  
Set objConnection = CreateObject("ADODB.Connection")  
Set objRecordset = CreateObject("ADODB.Recordset")  
objConnection.Open "DSN=Inventory;"  
objRecordset.CursorLocation = adUseClient  
objRecordset.Open "SELECT * FROM Hardware" , objConnection, _  
    adOpenStatic, adLockOptimistic  
Set colSoundCards = GetObject("winmgmts:").ExecQuery _  
    ("Select * from Win32_SoundDevice")  
For Each objSoundCard in colSoundCards  
    objRecordset.AddNew  
    objRecordset("ComputerName") = objSoundCard.SystemName  
    objRecordset("Manufacturer") = objSoundCard.Manufacturer  
    objRecordset("ProductName") = objSoundCard.ProductName  
    objRecordset.Update  
Next  
objRecordset.Close  
objConnection.Close 
調用方法示例:AddOneRecord.vbs