当前位置 博文首页 > 几段非常有用的脚本(来自微软网站,由downmoon精心收集)

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

    作者:admin 时间:2021-02-19 06:43

    几段非常有用的脚本(来自微软网站,由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

    js
下一篇:没有了