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

所属分类: 脚本专栏 / vbs 阅读数: 1877
收藏 0 赞 0 分享
几段非常有用的脚本(来自微软网站,由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

更多精彩内容其他人还在看

VBS获取当前目录下所有文件夹名字的代码

有时候我们需要获取当前目录下所有文件夹的名字,那么就可以参考下面的代码了
收藏 0 赞 0 分享

VBS读取注册表的两种方法

有时候我们需要用vbs来操作注册表,一般情况下有两种方法,一种是通过wshshell对象的regread,另外一种是使用WMI操作注册表,下面简单的介绍下
收藏 0 赞 0 分享

查看系统C盘剩余空间的VBS脚本

查看系统C盘剩下的空间方法有很多,在本文要为大家介绍的是通过VBS脚本是如何实现的,感兴趣的朋友不要错过
收藏 0 赞 0 分享

利用VBS实现显示系统服务列表

显示服务列表的方法有很多,在接下来的文章中为大家介绍下利用VBS是如何实现的,感兴趣的朋友不要错过
收藏 0 赞 0 分享

VBS获取文件MD5值(无组件)

VBS获取MD5值最简单的方法是直接调用CAPICOM组件,但是由于CAPICOM组件系统并不是默认安装,所以使用起来不方便
收藏 0 赞 0 分享

VBS调用Photoshop批量生成缩略图的代码

这篇文章主要为大家分享了通过vbs调用Photoshop批量生成缩略图,需要的朋友可以参考下
收藏 0 赞 0 分享

使用vbs获得外网ip并发送到邮箱里

这篇文章主要介绍了使用vbs获得外网ip并发送到邮箱里,需要的朋友可以参考下
收藏 0 赞 0 分享

vbs实现只复制比目标文件更新的文件

有时候我们需要时候备份一些文件,只有当这个文件被修改了并且不是空的时候才复制
收藏 0 赞 0 分享

vbs复制文件夹的实现代码

这篇文章主要介绍了vbs复制文件夹的实现代码,需要的朋友可以参考下
收藏 0 赞 0 分享

VBS文本文件操作实现代码

这篇文章主要介绍了VBS文本文件操作实现代码,需要的朋友可以参考下
收藏 0 赞 0 分享
查看更多