几段非常有用的脚本(来自微软网站,由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提供的代码,该代码能够在Internet Explorer(IE)浏览器中通过JavaScript来调用并打开指定的Excel文件。 #### 二、代码分析 ##### 2.1 HTML结构 首先,我们来看一下这段代码的基本...
### 获取远程网页的内容之二(downmoon原创) #### 概述 本文主要介绍了在特定代理环境下,如何通过编程方式获取远程网页的内容。该方法适用于那些需要通过代理服务器访问互联网的企业或机构环境。文章中提供了...
获取远程网页的内容之一(downmoon原创) 一、本机直接上网时: 获取指定远程网页内容#region 获取指定远程网页内容 代码如下: /**//// /// 获取指定远程网页内容 /// /// ”strUrl”>所要查找的远程...
获取远程网页的内容之一(downmoon原创) 一、本机直接上网时: 获取指定远程网页内容#region 获取指定远程网页内容 代码如下: /**//// /// 获取指定远程网页内容 /// /// ”strUrl”>所要查找的远程网页...
在软件开发中,版本控制系统是确保代码质量和协作开发的重要工具。Visual SourceSafe(VSS)是一个...同时,由于Visual SourceSafe已经被微软宣布停止支持,因此长远来看,转向其他现代版本控制系统是更为明智的选择。
ASP.NET 作为 Microsoft 提供的一个强大框架,为 .NET 开发者提供了丰富的工具和支持。本文将详细介绍如何在 ASP.NET 环境下获取远程网页的内容,并特别关注在代理服务器环境下实现这一功能。 #### 二、准备工作 ...
微软在VS2005 Team System中包含了SQL Server 2005 Express Edition,这是一个轻量级的数据库服务器,适用于小型项目和开发环境。而SQL Server 2005 Enterprise Edition则是一个功能更全面、更强大的数据库系统,...
存储过程中的TOP后跟一个变量会如何? 代码如下: Create proc getWorkPlan2 (@intCounter int ,@lngUserID int) as select Top 5 lngWorkID,strWorkName,strExecHumanName,strBeginDate from worklist where ...
在某种程度上,有了它,我们再也不用为不能全面及时检测众多浏览器和五花八门的js/css不兼容性而痛不欲生了。...http://blog.csdn.net/downmoon/archive/2010/10/17/5946465.aspx 欢迎联系邀月 3w@live.cn
标题中的“如果你有了基础,你该看看它(.net)”暗示了这是一份针对有一定编程基础的人群,特别是对微软的.NET框架感兴趣的开发者的学习资料。.NET是微软推出的一个全面的开发平台,用于构建各种类型的应用程序,...
讲座内容: 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框架略作整理,方便有需要的朋友查阅。 在示例之前,我们先设置一个演示数据源,新建一个项目...