![]() |
China DOS Union-- Unite DOS · Advance DOS · Grow DOS --Union site: www.cn-dos.net Forum site: www.cn-dos.net/forum |
| Guest | Log in | Register | Members | Search | China DOS Union |
|
中国DOS联盟论坛 The time now is 2026-11-10 11:25 |
47,815 topics / 349,930 posts / today 0 new / 48,291 members |
| DOS批处理 & 脚本技术(批处理室) » [Absolute Good Materials] Complete Collection of WIM WMIC Development Technology Materials (Continuously Updating......) |
| Printable Version 12,641 / 52 |
| Floor16 HUNRYBECKY | Posted 2006-12-13 02:51 |
| 银牌会员 Posts 442 Credits 1,179 | |
|
6. Another section about scripts for checking the version detection of all scripts on the computer. Please save the code as version.vbs. Double-click to run or enter start version.vbs in CMD (note to match your own path)
;Code starts =============================================== On Error Resume Next WScript.Echo "WSH Version: " & WScript.Version Wscript.Echo "VBScript Version: " & ScriptEngineMajorVersion _ & "." & ScriptEngineMinorVersion strComputer = "." Set objWMIService = GetObject("winmgmts:" _ & "{impersonationLevel=impersonate}!\\" & strComputer _ & "\root\cimv2") Set colWMISettings = objWMIService.ExecQuery _ ("Select * from Win32_WMISetting") For Each objWMISetting in colWMISettings Wscript.Echo "WMI Version: " & objWMISetting.BuildVersion Next Set objShell = CreateObject("WScript.Shell") strAdsiVersion = objShell.RegRead("HKLM\SOFTWARE\Microsoft\Active Setup\Installed Components\{E92B03AB-B707-11d2-9CBD-0000F87A369E}\Version") If strAdsiVersion = vbEmpty Then strAdsiVersion = objShell.RegRead("HKLM\SOFTWARE\Microsoft\ADs\Providers\LDAP\") If strAdsiVersion = vbEmpty Then strAdsiVersion = "ADSI is not installed." Else strAdsiVersion = "2.0" End If End If WScript.Echo "ADSI Version: " & strAdsiVersion ;Code ends ========================================== |
|
| Floor17 kcdsw | Posted 2006-12-13 02:55 |
| 中级用户 Posts 179 Credits 404 | |
|
I can also download at 600K/s
|
|
| Floor18 namejm | Posted 2006-12-13 02:58 |
| 荣誉版主 Posts 1,737 Credits 5,226 From 成都 | |
|
The materials are very good, and points are given for encouragement.
There is a phenomenon of disconnection in the link address. After clicking, it cannot jump correctly. It would be great if it could be corrected. |
|
| Floor19 HUNRYBECKY | Posted 2006-12-13 02:58 |
| 银牌会员 Posts 442 Credits 1,179 | |
|
7. Here's another WMI - related tool. This was actually obtained from the MS website. MS touts this thing quite well. Actually, this is an HTML file. I'll post the code here. Please copy all the code into a text file and save it as "scriptomatic.hta", then double - click to run it.
;Code starts here ==================================== <html> <!--******************************************************************** '* '* File: scriptomatic.hta '* Created: August 2002 '* Version: 1.0 '* '* Description: Learning tool. Enables users to generate and run '* WSH scripts (in VBScript) that use WMI to display '* properties available through the Win32_ classes. '* '* '* Copyright (C) 2002 Microsoft Corporation '* '********************************************************************--> <title>Windows .NET Server Resource Kit - Scriptomatic</title> <HTA:APPLICATION ID="objScriptomatic" APPLICATIONNAME="Scriptomatic" SCROLL="no" SINGLEINSTANCE="yes" WINDOWSTATE="normal" > <head> <style> BODY { background-color: buttonface; font-family: Helvetica; font-size: 8pt; margin-top: 10px; margin-left: 10px; margin-right: 10px; margin-bottom: 10px; } .button { font-family: Helvetica; font-size: 8pt; width: 35px; } textarea { font-family: arial; font-size: 8pt; margin-left: 3px; } select { font-family: arial; font-size: 8pt; width: 450px; margin-left: 0px; } </style> <script language="vbscript"> '********************************************* '* WHILE LOADING... '* '* As the application loads, we open a new '* browser window to act as a crude progress dialog '* while we wait for the enumeration of the WMI '* classes to complete. '* '* We minimize the parent window prior to presenting '* the progress dialog and resize it back to normal '* once the classes are enumerated. '* '********************************************* Sub Window_Onload '* resize parent window self.ResizeTo 1,1 self.MoveTo 300,300 '* create dialog window Set objDialogWindow = window.Open("about:blank","ProgressWindow","height=15,width=250,left=300,top=300,status=no,titlebar=no,toolbar=no,menubar=no,location=no,scrollbars=no") objDialogWindow.Focus() objDialogWindow.ResizeTo 250,15 objDialogWindow.document.body.style.fontFamily = "Helvetica" objDialogWindow.document.body.style.fontSize = "11pt" objDialogWindow.document.writeln "<html><body>Loading WMI Classes.</body></html>" objDialogWindow.document.title = "Please wait." objDialogWindow.document.body.style.backgroundColor = "buttonface" objDialogWindow.document.body.style.borderStyle = "none" objDialogWindow.document.body.style.marginTop = 15 '**************************************************************************** '* enumerate the WMI classes in the cimv2 namespace, filling up a recordset '* with the names of the classes that begin with Win32_ and are not association '* classes. we'll use the class names stored in the recordset to populate a '* pulldown. '***************************************************************************** Const adVarChar = 200 Const MaxCharacters = 255 strComputer = "." Set rsDataList = CreateObject("ADODB.Recordset") rsDataList.Fields.Append "ClassName", adVarChar, MaxCharacters rsDataList.Open Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2") iCounter = 0 For Each objclass in objWMIService.SubclassesOf() '* write a . to the dialog window once for every 250 classes '* to let the user know something is still happening. iCounter = iCounter + 1 If iCounter Mod 250 = 0 Then objDialogWindow.document.writeln "." End If bIsQualifier = False If UCase(Left(objClass.Path_.Class,5)) = "WIN32" Then For Each Qualifier in objClass.Qualifiers_ If UCase(Trim(Qualifier.Name)) = "ASSOCIATION" Then bIsQualifier = True End If Next '* the class name starts with win32_ and is not an association '* class - so append it to the recordset If bIsQualifier = False Then rsDataList.AddNew rsDataList("ClassName") = objClass.Path_.Class rsDataList.Update End If End If Next '* populate the pulldown rsDataList.Sort = "ClassName" rsDataList.MoveFirst strHTML = "<select onChange=""ComposeCode()"" name=ClassesPulldown>" &_ "<option value=""PulldownMessage"">Begin by selecting a class" Do Until rsDataList.EOF strHTML = strHTML & "<option value= " & chr(34) &_ rsDataList.Fields.Item("ClassName") & chr(34) &_ ">" & rsDataList.Fields.Item("ClassName") rsDataList.MoveNext Loop strHTML = strHTML & "</select>" wmi_classes.insertAdjacentHTML "beforeEnd", strHTML '* the classes are enumerated, close the progress dialog '* and resize the main window objDialogWindow.Close self.Focus() self.ResizeTo 670,550 self.MoveTo 200,200 '* the user hasn't had a chance to select a class and generate '* a script - so disable the run and save buttons because '* they are not yet meaningful. run_button.disabled = True save_button.disabled = True End Sub '**************************************************************************** '* when the user selects a class from the pulldown, the ComposeCode subroutine '* is called. it queries WMI to determine the properties of the class the user '* selected and uses the information to construct sample code which it puts '* in the main window's textarea. '**************************************************************************** Sub ComposeCode '* if the user happens to select the message instead of a class, just '* disable the run and save buttons and exit the subroutine If ClassesPulldown.Value = "PulldownMessage" Then run_button.disabled = True save_button.disabled = True Exit Sub End If strComputer = "." Set objWMIService = GetObject("winmgmts:{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2") Set objClass = objWMIService.Get(ClassesPulldown.Value) strHTML = "<textarea cols=100 rows=30>" strHTML = strHTML & "On Error Resume Next" & Chr(10) strHTML = strHTML & "strComputer = " & chr(34) & "." & chr(34) & Chr(10) strHTML = strHTML & "Set objWMIService = GetObject(" & chr(34) & "winmgmts:\\" & chr(34) & " & strComputer & " & chr(34) & "\root\cimv2" & chr(34) & ")" & Chr(10) strHTML = strHTML & "Set colItems = objWMIService.ExecQuery(" & chr(34) & "Select * from " & ClassesPulldown.value & chr(34) & ",,48)" & Chr(10) strHTML = strHTML & "For Each objItem in colItems" & Chr(10) For Each objProperty in objClass.properties_ strHTML = strHTML & " Wscript.Echo " & chr(34) & objProperty.name & ": " & chr(34) & " & " & "objItem." & objProperty.name & Chr(10) Next strHTML = strHTML & "Next" & "</textarea>" code.InnerHTML= strHTML '* once the code is successfully composed and put into the textarea, ensure '* that the run and save buttons are enabled run_button.disabled = False save_button.disabled = False End Sub '**************************************************************************** '* when the user presses the Run button, we use the WshShell object's Run '* method to run the code currently in the textarea under cscript.exe. we use '* cmd.exe's /k parameter to ensure the command window remains visible after '* the script has finished running. '**************************************************************************** Sub RunScript Set objFS = CreateObject("Scripting.FileSystemObject") strTmpName = "temp_script.vbs" Set objScript = objFS.CreateTextFile(strTmpName) objScript.Write code.InnerText objScript.Close Set objShell = CreateObject("WScript.Shell") strCmdLine = "cmd /k cscript.exe " strCmdLine = strCmdLine & strTmpName objShell.Run(strCmdLine) End Sub '**************************************************************************** '* when the user presses the Save button, we present them with an InputBox '* and force them to give us the full path to where they'd like to the save '* the script that is currently in the textarea. The user is probably quite '* upset with our laziness here....and who can blame them? '**************************************************************************** Sub SaveScript Set objFSO = CreateObject("Scripting.FileSystemObject") strSaveFileName = InputBox("Please enter the complete path where you want to save your script (for example, C:\Scripts\MyScript.vbs).") If strSaveFileName = "" Then Exit Sub End If Set objFile = objFSO.CreateTextFile(strSaveFileName) objFile.WriteLine code.InnerText objFile.Close End Sub '**************************************************************************** '* when the user presses the Open button, we present them with an InputBox '* and force them to give us the full path to the script they'd like to open. '* This is, of course, rather wonky - but it's meant to be. '**************************************************************************** Sub OpenScript Set objFSO = CreateObject("Scripting.FileSystemObject") strOpenFileName = InputBox("Please enter the complete path name for your script (for example, C:\Scripts\MyScript.vbs).") If strOpenFileName = "" Then Exit Sub End If Set objFile = objFSO.OpenTextFile(strOpenFileName) strHTML = "<textarea cols=100 rows=30>" strHTML = strHTML & objFile.ReadAll() strHTML = strHTML & "</textarea>" code.InnerHTML = strHTML objFile.Close run_button.disabled = False save_button.disabled = False End Sub '**************************************************************************** '* when the user presses the Quit button, the file where we've been storing '* the scripts gets deleted and the main window closes. '**************************************************************************** Sub QuitScript On Error Resume Next Set objFSO = CreateObject("Scripting.FileSystemObject") objFSO.DeleteFile "temp_script.vbs" Set objFSO = Nothing self.Close() End Sub </script> </head> '*********************************************************** '* our HTML layout - the only thing of note here is that when '* each of the buttons is pressed (clicked), their onClick '* attributes causes the appropriate subroutine to be called '*********************************************************** <body> <table> <td> <span id="wmi_classes"> </span> <input id=runbutton class="button" type="button" value="Run" name="run_button" onClick="RunScript()"> <input id=savebutton class="button" type="button" value="Save" name="save_button" onClick="SaveScript()"> <input id=openbutton class="button" type="button" value="Open" name="open_button" onClick="OpenScript()"> <input id=quitbutton class="button" type="button" value="Quit" name="quit_button" onClick="QuitScript()"> <div ID=code_header></div> <div id="code"></div> </td> </tr> </table> </body> </html> ;Code ends ============================================== |
|
| Floor20 HUNRYBECKY | Posted 2006-12-13 03:00 |
| 银牌会员 Posts 442 Credits 1,179 | |
Originally posted by namejm at 2006-12-13 02:58: Moderator namejm: The link is a bit problematic. I copied it like this, I don't know if it's a problem with the upload system. So when downloading, you must copy the entire correct link and then enter it in the browser address and press enter to download. |
|
| Floor21 HUNRYBECKY | Posted 2006-12-13 03:03 |
| 银牌会员 Posts 442 Credits 1,179 | |
|
Note that the <WMI Technology Guide> is a compressed package, and there is a text file inside it, which contains the password and the opening method. This PDF must be opened with version 7.0.
|
|
| Floor22 HUNRYBECKY | Posted 2006-12-13 03:08 |
| 银牌会员 Posts 442 Credits 1,179 | |
|
8. Another WMI query analysis tool. It's from a foreign website. It has source code attached. You'll regret not downloading it. But the program doesn't run on my computer. I don't know why. Everyone test and give feedback on what the problem is. Thanks.
Download link: http://zhenlove.com.cn/cndos/fileup/files/WQLAnalyzer_1.02(wmi query analysis tool with source code).zip |
|
| Floor23 HUNRYBECKY | Posted 2006-12-13 03:15 |
| 银牌会员 Posts 442 Credits 1,179 | |
|
9. Another WMI script tutorial. This was also collected from the internet, and I don't remember the download address. It seems that there is a missing Chapter 4; you can search on the internet yourself. It seems there is also on the MS website, the address is http://www.microsoft.com/china/MSDN/library/enterprisedevelopment/softwaredev/WDdnclinicscripting.mspx.
Download address: http://zhenlove.com.cn/cndos/fileup/files/wmi Script Introduction (incomplete pdf).rar All the information I collected about WMI WMIC has been sent. |
|
| Floor24 lxmxn | Posted 2006-12-13 03:26 |
| 版主 Posts 4,938 Credits 11,386 | |
Originally posted by kcdsw at 2006-12-13 02:55: When I was downloading, the owner had not uploaded it completely, so I couldn't download. You can download because the group owner has uploaded all completely. 600k/s?? What kind of connection are you using?? Here, I can't exceed 50k/s with Thunder, sweat...... |
|
| Floor25 lxmxn | Posted 2006-12-13 03:29 |
| 版主 Posts 4,938 Credits 11,386 | |
|
Provide so many materials, give extra points to encourage. |
|
| Floor26 HUNRYBECKY | Posted 2006-12-13 03:43 |
| 银牌会员 Posts 442 Credits 1,179 | |
|
I hope everyone will post the collected materials related to WMI WMIC here to enrich the relevant materials and provide reference materials for batch programming. It is best to be different.
|
|
| Floor27 kcdsw | Posted 2006-12-13 09:23 |
| 中级用户 Posts 179 Credits 404 | |
|
Hehe, I'm using broadband.
Attachments 新建 BMP 图像.JPG (22.58 KiB) |
|
| Floor28 vkill | Posted 2006-12-14 05:48 |
| 金牌会员 Posts 1,744 Credits 4,103 From 甘肃.临泽 | |
| Floor29 9527 | Posted 2006-12-14 05:57 |
| 银牌会员 Posts 438 Credits 1,185 From 北京 | |
|
I thought it was an e - book? Alas, this book has been available as early as 2 years ago. Look at the following picture, it's mainly about the explanation of WMI, and besides the book, there's my that hand (just took it, heh heh.............)
|
|
| Floor30 lxmxn | Posted 2006-12-14 06:01 |
| 版主 Posts 4,938 Credits 11,386 | |
|
9527, you~~ Hiding good stuff and not sharing?! |
|
| Prev 1 2 3 4 Next |
|
[ Contact the Union admin team -
中国DOS联盟 -
Standard version ] Sponsored by ifanr Inc | © 2001–2023 |