几段非常有用的脚本(来自微软网站,由downmoon精心收集)

几段非常有用的脚本(来自微软网站,由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 
=   " [email protected] "
objEmail.To 
=   " [email protected] "
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 
=   " [email protected] "
objEmail.To 
=   " [email protected] "
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

 

你可能感兴趣的:(脚本)