几段非常有用的脚本(来自微软网站,由downmoon精心收集)
一、在网络硬件故障或网络故障断开时发送警告
strComputer
=
"
.
"
Set
objWMIService
=
GetObject
(
"
winmgmts:
"
&
strComputer
&
"
ootwmi
"
)
Set
colMonitoredEvents
=
objWMIService.ExecNotificationQuery_
(
"
Select*fromMSNdis_StatusMediaDisconnect
"
)
Do
While
True
Set
strLatestEvent
=
colMonitoredEvents.NextEvent
Wscript.Echo
"
Anetworkconnectionhasbeenlost:
"
WScript.EchostrLatestEvent.InstanceName,
Now
Wscript.Echo
Loop
调用方法示例:cscript 网络断开.vbs >> F:/test/微软脚本/log.txt
二、在网络硬件连接成功或网络故障恢复连接时发送警告
strComputer
=
"
.
"
Set
objWMIService
=
GetObject
(
"
winmgmts:
"
&
strComputer
&
"
ootwmi
"
)
Set
colMonitoredEvents
=
objWMIService.ExecNotificationQuery_
(
"
Select*fromMSNdis_StatusMediaConnect
"
)
Do
While
True
Set
strLatestEvent
=
colMonitoredEvents.NextEvent
Wscript.Echo
"
Anetworkconnectionhasbeenmade:
"
WScript.EchostrLatestEvent.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
"
ActiveDirectoryProvider
"
Set
objCOmmand.ActiveConnection
=
objConnection
objCommand.CommandText
=
_
"
SelectName,Locationfrom'LDAP://DC=DomainName,DC=com'
"
_
&
"
WhereobjectClass='computer'
"
objCommand.Properties(
"
PageSize
"
)
=
1000
objCommand.Properties(
"
Searchscope
"
)
=
ADS_SCOPE_SUBTREE
Set
objRecordSet
=
objCommand.Execute
objRecordSet.MoveFirst
Do
UntilobjRecordSet.EOF
Wscript.Echo
"
ComputerName:
"
&
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
UntilobjTextFile.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.WriteLinestrNewFile
objTextFile.Close
调用方法示例:ModifyFile.vbs
附件:
Sample.ini:
[OEMInstall]
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-01down
"
objEmail.Textbody
=
"
Atl-dc-01isnolongeraccessibleoverthenetwork.
"
objEmail.Send
调用方法示例:SendMail.vbs
六、在没有 SMTP Service 的条件下发送电子邮件
脚本设计用来在 Microsoft 的公司网络上进行工作。
Set
objEmail
=
CreateObject
(
"
CDO.Message
"
)
objEmail.From
=
"
admin1@fabrikam.com
"
objEmail.To
=
"
admin2@fabrikam.com
"
objEmail.Subject
=
"
Serverdown
"
objEmail.Textbody
=
"
Server1isnolongeraccessibleoverthenetwork.
"
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*FROMHardware
"
,objConnection,_
adOpenStatic,adLockOptimistic
Set
colSoundCards
=
GetObject
(
"
winmgmts:
"
).ExecQuery_
(
"
Select*fromWin32_SoundDevice
"
)
For
Each
objSoundCardincolSoundCards
objRecordset.AddNew
objRecordset(
"
ComputerName
"
)
=
objSoundCard.SystemName
objRecordset(
"
Manufacturer
"
)
=
objSoundCard.Manufacturer
objRecordset(
"
ProductName
"
)
=
objSoundCard.ProductName
objRecordset.Update
Next
objRecordset.Close
objConnection.Close
调用方法示例:AddOneRecord.vbs
分享到:
相关推荐
通用分页控件c#源码(downmoon收集) 采用工厂模式,提供标准化接口!支持 DataGrid 及 Repeater分页使用方法:新建两个解决方案 一为Pager,一为webtest 下载后请将两个解决方案合并一下,即新的解决方案包括两个...
获取远程网页的内容之二(downmoon原创)
获取远程网页的内容之一(downmoon原创)
asp.net中获取远程网页的内容之一(downmoon原创)
在IE中调用javascript打开Excel的代码(downmoon原作)
asp.net下获取远程网页的内容之二(downmoon原创)
由于微软在vs2005 vsts团队开发版中集成了sql 2005 express,而在SQL 2005中又集成了vs2005 Express,,所以当很多用户同时安装vs2005团队开发?:?sql 2005企业版(downmoon)时,就会出现数据库连接失败的case
sqlserver 存储过程中的top+变量使用分析(downmoon) ,需要的朋友可以参考下。
在使用vs.php+ sourcesafe管理代码时,发现有时候并不能从vs.net IDE中正确获取phpproj文件下的所有文件。但从sourcesafe IDE下却可以。
在某种程度上,有了它,我们再也不用为不能全面及时检测众多浏览器和五花八门的js/css不兼容性而痛不欲生了。...http://blog.csdn.net/downmoon/archive/2010/10/17/5946465.aspx 欢迎联系邀月 3w@live.cn
此源码有问题,请下载downmoon提供的修正版!非常抱歉! http://download.csdn.net/source/2434932
讲座内容: Profie 是ASP.NET 2.0的重要特性之一,而ASP.NET AJAX...另外,他对于SOA,SaaS,重构以及程序员能力与修养相关等问题上有着浓厚的兴趣,并且非常希望能够写程序到60岁。 <br>技术等级: Level 300
在上一篇文章中, UML常见工具之NetBeans(downmoon) 简要介绍了netBeansIDE的UML工具,今天再来看一下更常用的powerDesigner,相信这个工具大多数人不陌生。目前版本是15。真的很感谢Sybase,可以说PowerDesigner...
前段时间需要作一个的Web前端应用,需要用多个框架,一个典型的应用场景是省市三级联动,基于此应用,特将三种主要的ajax框架略作整理,方便有需要的朋友查阅。 在示例之前,我们先设置一个演示数据源,新建一个项目...