パソコンのハードウェア情報をvbsで取得するシナリオ_最新版第1/4ページ
コード1:
VBS偽造HTTP-REFERERの実現方法最近VBSアナログPOSTでフォームを提出しましたが、Refererが検出されたページが使えなくなりました。
2011-02-02 wscriptを利用してファイルを実行する[実行可能なexeファイルを含む]vbsスクリプト wscriptを利用してファイルを実行します。[実行可能なexeファイルを含む]vbsスクリプト…2007-02-02 VBS教程:関数-Len関数…2006-11-11 VBS教程:関数-Len関数 は、vbsで実現されたCPUの使用率を監視し、VBSはCPUの使用率を監視し、占有率が80%を超えて30秒を維持しているなら、あるプログラムを実行して、マシンの正常運行を保証します。 VBSはCPUの使用率を監視します(占有率が80%を超えて30秒を維持するなら、あるプログラムを実行します。 MS Internet Explorer XMLパリティBuffer Overflow Exploid(vista)0 day利用コード2009-01-01 インターネットジェネレータMS Internet Explorer XML Parsing Buffer Overflowこの文章は主にIisext.vbsを使ってアプリケーション依存関係を削除する実現方法を紹介しています。必要な友達は以下の2014-07-07 を参照してください。 Restart.vbsソースコードはリモートコンピュータのvbsを再起動することができます。2007-02-02 Iisext.vbsを使ってアプリケーション依存関係を削除する実現方法 windowsスクリプトデバッグhowtoの方法…2007-04-04 CHR(0)は特殊な文字です。もちろんビジュアルBaicまたはVScriptではvbNull Charで直接表してもいいです。数値的には数字0 201-01 です。 Restart.vbsソースコードはリモートコンピュータのvbsを再起動できます。はWindowsの中でコンピュータの操作を学ぶのは簡単かもしれませんが、多くのコンピュータの仕事は反復的な労働です。例えば、毎週いくつかのコンピュータファイルをコピーしたり、貼り付けたり、改名したり、削除したりする必要があります。2009-03-03 コメント
'*******************************************************************************************
'Version:3.1
' , LogFile ,
' “RPC ” ,
' “RPC ” , ,
' “RPC 。”
' , ( BIOS ),
'Version:3.0
' BIOS ,
'Version:2.9
' GetInfo , 。
' , Win32 Win32 ;
' Err, ( Err,Count 0)
'
'Version:2.8
' GetIDEProtocol , IDE , ,
'
'Version:2.7
' / / / DeviceID ( )
' ,
'Version:2.6
'
' InterfaceType IDE
'Version:2.5
' Sort ,
'Version:2.4
' , , xls
' 0, ,
' WMI ,
' , ,
'
' ( , )
'Version:2.3
' 2.2
' STAT IDE ,
' PS:
'Version:2.2
' GetMemoryInfo MemoryType、FormFactor、TypeDetail
' 、
' 、
'Version:2.1
' GetOSInfo Caption “,”
' : 2003 , Caption , “,”
' , “,”
'Version:2.0 B5
' GetNetworkInfo MACAddress 、
' Manufacturer "Microsoft"
'Version:2.0 Beta4
' GetNetworkInfo NetConnectionStatus
' NetConnectionStatus (2000 )
' ( )
'Version:2.0 Beta3
' GetNetworkInfo
' IPAddress(0) Err ( )
'Version:2.0 Beta2
' GetOSInfo Name、ServicePackMajorVersion
' Caption、CSDVersion
' GetInfo ,
'
'Version:2.0 Beta1
' , ,
'Version:1.1
' GetNetworkInfo
' NetConnectionID ( )
'Version:1.0
'
Option Explicit
'**************************************
' : LZ-MyST QQ:8450919
'http://hi.baidu.com/lzmyst
'http://www.clxp.net.cn
'E-Mail:[email protected]
' 、
' 、
'**************************************
'******************************** *************************************
'Input : IP- = = ; - = =
' “;”
' :192.168.0.1-10 IP 192.168.0.1~192.168.0.10,
' :PC001-10 PC001~PC010( - )
' , IP[ ], " .txt"
'" .txt" , XLS 、
' , 、 、 " .txt"
' " .txt" ( 0)
'******************************** *************************************
Dim Input, InfoOutFile, LogFile ' Input
'Input = "pc021=administrator=cylslynetbar"
Input = "PC001-109=administrator=cylslynetbar;pc110-85=administrator=LYjfnetbaradmin"
InfoOutFile = " .txt"
LogFile = " .txt"
Redim arrConfig(0)
Dim WshShell, FSO, intCount1, intCount2
intCount1 = 0
intCount2 = 0
Set WshShell = WScript.CreateObject("WScript.Shell")
Set FSO = WScript.Createobject("Scripting.Filesystemobject")
ReadConfig
WshShell.Popup " , , ",," "
LinkRemoteServer arrConfig
Dim LenNum1, LenNum2
If intCount1 > intCount2 Then
LenNum1 = 0
LenNum2 = Len(intCount1) - Len(intCount2)
Else
LenNum1 = Len(intCount2) - Len(intCount1)
LenNum2 = 0
End If
Sort InfoOutFile
WshShell.Popup " :" & _
vbCrLf & vbTab & " :" & Space(LenNum1) & intCount1 & " " & _
vbCrLf & vbTab & " :" & Space(LenNum2) & intCount2 & " " & _
vbCrLf & " , ",," "
Function ReadConfig
Dim objMatches, objMatche,objLogFile, arrLog, intUBarrConfig
If FSO.FileExists(LogFile) Then
If FSO.GetFile(LogFile).Size = 0 Then
Set objMatches = GetMatche("([^;=]+)=([^;=]+)=([^;=]+)", Input)
For Each objMatche In objMatches
GetConfig objMatche.SubMatches(0), objMatche.SubMatches(1), objMatche.SubMatches(2)
Next
If objMatches.Count = 0 Then
Msgbox " , "
WScript.Quit
End If
Else
Set objLogFile = FSO.OpenTextFile(LogFile)
Do Until objLogFile.AtEndOfStream
arrLog = Split(objLogFile.ReadLine,"=")
intUBarrConfig = ((Ubound(arrConfig)+1)\3+1)*3-1
Redim Preserve arrConfig(intUBarrConfig)
arrConfig(intUBarrConfig-2) = arrLog(0)
arrConfig(intUBarrConfig-1) = arrLog(1)
arrConfig(intUBarrConfig-0) = arrLog(2)
Loop
End If
Else
Set objMatches = GetMatche("([^;=]+)=([^;=]+)=([^;=]+)", Input)
For Each objMatche In objMatches
GetConfig objMatche.SubMatches(0), objMatche.SubMatches(1), objMatche.SubMatches(2)
Next
If objMatches.Count = 0 Then
Msgbox " , "
WScript.Quit
End If
End If
End Function
'*********************************************************************************
' : WMI
' :arrArray , [IP]、 、
' :LinkServer
' SWbemLocator ConnectServer , OutInfo
' Err ( ), [IP]、 、 LogFile
' OutInfo
' Err ( ) [IP]、 、 LogFile
' :SWbemLocator ConnectServer OutInfo
' [IP]、 、 、 LinkServer
'*********************************************************************************
Function LinkRemoteServer(arrArray)
Dim objErrLog, E, objLinkServer, objConnection, objWbemLocator, objErr
Set objWbemLocator = CreateObject("WbemScripting.SWbemLocator")
Set objErrLog = FSO.CreateTextFile(LogFile,True)
For E = 0 To Ubound(arrArray) Step 3
Set objLinkServer = LinkServer(arrConfig(E),"root\cimv2",arrConfig(E+1),arrConfig(E+2))
If Err Then
objErrLog.Writeline arrArray(E) & "=" & arrArray(E+1) & "=" & arrArray(E+2) & "=" & _
" :" & CStr(Err.Number) & _
", :" & CStr(Err.Description) & _
", :" & CStr(Err.Source) & " By LinkServer Function"
intCount2 = intCount2 + 1
Err.Clear
Else
objErr = OutInfo(objLinkServer)
If Vartype(objErr) = 8 Then
objErrLog.Writeline arrArray(E) & "=" & arrArray(E+1) & "=" & arrArray(E+2) & "=" & objErr
intCount2 = intCount2 + 1
End If
End If
Next
End Function
'******************************************************
' :
' :SWbemLocator ConnectServer
' : GetXXXInfo
' :SWbemLocator ConnectServer
' : GetInfo Err , True
' GetInfo Err , False
'******************************************************
Function OutInfo(objRemote)
Dim OutFile, arrInfo, strOutInfo, Tmp, A
If FSO.FileExists(InfoOutFile) Then
Set OutFile = FSO.OpenTextFile(InfoOutFile,8)
Else
Set OutFile = FSO.CreateTextFile(InfoOutFile)
OutFile.Writeline " , ( ), ( )( ),CPU ( ), ,L2 ( )," & _
" , ( ), ( ), ( ), ( ), ,IP/MAC"
End If
'
arrInfo = GetOSInfo(objRemote)
If Vartype(arrInfo) = 8 Then
OutInfo = arrInfo
Exit Function
End If
strOutInfo = arrInfo(0) & "," & arrInfo(1) & "(" & arrInfo(2) & "),"
'
arrInfo = GetBoardInfo(objRemote)
If Vartype(arrInfo) = 8 Then
OutInfo = arrInfo
Exit Function
End If
strOutInfo = strOutInfo & arrInfo(0) & "(" & arrInfo(1) & ")"
'BIOS
arrInfo = GetBIOSInfo(objRemote)
If Vartype(arrInfo) = 8 Then
OutInfo = arrInfo
Exit Function
End If
strOutInfo = strOutInfo & "(" & arrInfo(2) & "),"
'CPU
arrInfo = GetCPUInfo(objRemote)
If Vartype(arrInfo) = 8 Then
OutInfo = arrInfo
Exit Function
End If
strOutInfo = strOutInfo & arrInfo(1) & "(" & arrInfo(8) & ")," & arrInfo(4) & "," & _
arrInfo(6) & "(" & arrInfo(7) & "),"
'
arrInfo = GetMemoryInfo(objRemote)
If Vartype(arrInfo) = 8 Then
OutInfo = arrInfo
Exit Function
End If
Tmp = 0
For A = 1 To Ubound(arrInfo) Step 6
Tmp = Tmp + Cint(arrInfo(A))
Next
strOutInfo = strOutInfo & arrInfo(0) & " , " & Tmp & "M,"
Tmp = ""
For A = 2 To Ubound(arrInfo) Step 6
If A = Ubound(arrInfo) - 4 Then
Tmp = Tmp & arrInfo(A) & "(" & arrInfo(A+1) & "),"
Else
Tmp = Tmp & arrInfo(A) & "(" & arrInfo(A+1) & ") "
End If
Next
strOutInfo = strOutInfo & Tmp
Tmp = ""
For A = 4 To Ubound(arrInfo) Step 6
If A = Ubound(arrInfo) - 2 Then
Tmp = Tmp & arrInfo(A) & "(" & arrInfo(A+1) & "),"
Else
Tmp = Tmp & arrInfo(A) & "(" & arrInfo(A+1) & ") "
End If
Next
strOutInfo = strOutInfo & Tmp
'
Tmp = ""
arrInfo = GetDiskInfo(objRemote)
If Vartype(arrInfo) = 8 Then
OutInfo = arrInfo
Exit Function
End If
For A = 1 To Ubound(arrInfo) Step 5
If arrInfo(A+1) = "IDE" Then
Tmp = arrInfo(A) & "(" & arrInfo(A+2) & "G),"
Exit For
End If
Next
If Tmp = "" Then
strOutInfo = strOutInfo & " ,"
Else
strOutInfo = strOutInfo & Tmp
End If
'
arrInfo = GetVideoInfo(objRemote)
If Vartype(arrInfo) = 8 Then
OutInfo = arrInfo
Exit Function
End If
strOutInfo = strOutInfo & arrInfo(0) & "(" & arrInfo(1) & "M),"
'
arrInfo = GetNetworkInfo(objRemote)
If Vartype(arrInfo) = 8 Then
OutInfo = arrInfo
Exit Function
End If
strOutInfo = strOutInfo & arrInfo(1) & "," & arrInfo(2) & Space(17-Len(arrInfo(2))) & arrInfo(3)
'
OutFile.Writeline strOutInfo
intCount1 = intCount1 + 1
OutInfo = True
End Function
'*********************************************************
' : WMI
' :strComputer: IP
' strNamespace:
' strUserName:
' strPassword:
' : , SWbemLocator
' ,
'*********************************************************
Function LinkServer(strComputer,strNamespace,strUserName,strPassword)
Dim objWbemLocator
Set objWbemLocator = CreateObject("WbemScripting.SWbemLocator")
Dim objConnection
On Error Resume Next
Set objConnection = objwbemLocator.ConnectServer _
(strComputer, strNamespace, strUserName, strPassword)
If Err Then
Set LinkServer = Err
Exit Function
End If
On Error Goto 0
objConnection.Security_.ImpersonationLevel = 3
Set LinkServer = objConnection
End Function
'******************************************
' :
' :strPatrn:
' strString:
' :Match
'******************************************
Function GetMatche(strPatrn, strString)
Dim RegEx
Set RegEx = New Regexp
RegEx.Global = True
RegEx.IgnoreCase =True
RegEx.Pattern = strPatrn
Set GetMatche = RegEx.Execute(strString)
End Function
'***************************************
' :2、8、16 10
' :strString:2、8、16
' intNum: (2|8|16)
' :10
'***************************************
Function ChangeToDecimal(strString, intNum)
ChangeToDecimal = 0
If Isnull(strString) Then ChangeToDecimal = 0 : Exit Function
Dim A, M
For A = 1 To Len(strString)
M = LCase(Mid(strString, A, 1))
Select Case M
Case "a" :M = 10
Case "b" :M = 11
Case "c" :M = 12
Case "d" :M = 13
Case "e" :M = 14
Case "f" :M = 15
End Select
ChangeToDecimal = ChangeToDecimal + M * intNum^(Len(strString)-A)
Next
End Function
集める ハードウェア情報 vbs 関連記事2011-02-02