您的位置:首页 > 运维架构 > 网站架构

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

2007-12-28 14:10 411 查看
几段非常有用的脚本(来自微软网站,由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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: