몇 단락의 매우 유용한 스크립트 (마이크로소프트 사이트에서 온downmoon이 정성껏 수집한 것)

6427 단어
몇 단락의 매우 유용한 스크립트 (마이크로소프트 사이트에서 온downmoon이 정성껏 수집한 것)
1. 네트워크 하드웨어 고장 또는 네트워크 고장 끊길 때 경고 발송
 
  
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\Microsoft 스크립트\log.txt 
2. 네트워크 하드웨어 연결이 성공하거나 네트워크 고장이 복구되었을 때 경고 발송
 
  
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\Microsoft 스크립트\log.txt 
3. 모든 도메인 사용자 정보 얻기
 
  
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\Microsoft 스크립트\도메인 사용자 정보.txt 
4. 텍스트 파일 내용 수정
 
  
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= 

5. 스크립트를 통해 이메일 보내기
SMTP 서비스가 설치된 컴퓨터에서 e-메일을 보내는 스크립트입니다.
스크립트 코드
 
  
Set objEmail = CreateObject("CDO.Message") 
objEmail.From = "[email protected]
objEmail.To = "[email protected]
objEmail.Subject = "Atl-dc-01 down" 
objEmail.Textbody = "Atl-dc-01 is no longer accessible over the network." 
objEmail.Send 

호출 방법 예: SendMail.vbs
6. SMTP 서비스 없이 이메일 보내기
스크립트 디자인은 Microsoft의 기업 네트워크에서 작업을 수행하는 데 사용됩니다.
 
  
Set objEmail = CreateObject("CDO.Message") 
objEmail.From = "[email protected]
objEmail.To = "[email protected]
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
7. 새로운 기록을 데이터베이스에 추가
스크립트를 통해 컴퓨터 사운드 카드에 대한 정보를 검색한 다음 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

좋은 웹페이지 즐겨찾기