vbs脚本大全,配有实例

2024-03-10 00:48
文章标签 实例 大全 脚本 vbs 配有

本文主要是介绍vbs脚本大全,配有实例,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

1 VBS取得本机IP
strComputer = "." 
Set objWMIService = GetObject("winmgmts://" & strComputer & "/root/cimv2")
Set IPConfigSet = objWMIService.ExecQuery("Select IPAddress from
Win32_NetworkAdapterConfiguration Where IPEnabled=TRUE")
For Each IPConfig in IPConfigSet 
If Not IsNull(IPConfig.IPAddress) Then 
For Each strAddress in IPConfig.IPAddress 
WScript.Echo strAddress 
Next 
End If 
Next  
2 取得本机电脑名 
 strComputer = "." 
Set objWMIService = GetObject("winmgmts://" & strComputer & "/root/cimv2") 
Set colComputers = objWMIService.ExecQuery("Select * from Win32_ComputerSystem") 
For Each objComputer in colComputers 
Wscript.Echo objComputer.Name
Next 
4 检查升级包 
 strComputer = "." 
Set objWMIService = GetObject("winmgmts://" & strComputer & "/root/cimv2") 
Set colOperatingSystems = objWMIService.ExecQuery("Select * from Win32_OperatingSystem") 
For Each objOperatingSystem in colOperatingSystems 
Wscript.Echo objOperatingSystem.ServicePackMajorVersion & "." &
objOperatingSystem.ServicePackMinorVersion
Next 
5 检查 Hot Fix 
 strComputer = "." 
Set objWMIService = GetObject("winmgmts://" & strComputer & "/root/cimv2") 
Set colQuickFixes = objWMIService.ExecQuery ("Select * from Win32_QuickFixEngineering") 
For Each objQuickFix in colQuickFixes 
Wscript.Echo "Description: " & objQuickFix.Description 
Wscript.Echo "Hot Fix ID: " & objQuickFix.HotFixID 
Next 
6 检查本地管理员数目 
 Set objNetwork = CreateObject("Wscript.Network") 
strComputer = objNetwork.ComputerName 
Set objGroup = GetObject("WinNT://" & strComputer & "/Administrators,group") 
For Each objUser in objGroup.Members 
Wscript.Echo objUser.Name 
Next 
7 磁盘系统 
 strComputer = "." 
Set objWMIService = GetObject("winmgmts://" & strComputer & "/root/cimv2") 
Set colDisks = objWMIService.ExecQuery("Select * from Win32_LogicalDisk Where DriveType =
3") 
For Each objDisk in colDisks 
Wscript.Echo "Disk drive: "& objDisk.DeviceID & " -- " & objDisk.FileSystem 
Next 
8 检测自动登录是否开启 
 Const HKEY_LOCAL_MACHINE = &H80000002 
strComputer = "." 
Set objReg=GetObject("winmgmts://" & strComputer & "/root/default:StdRegProv") 
strKeyPath = "Software/Microsoft/Windows NT/CurrentVersion/WinLogon" 
strValueName = "AutoAdminLogon" 
objReg.GetDWORDValue HKEY_LOCAL_MACHINE, strKeyPath, strValueName,dwValue 
If dwValue = 1 Then 
Wscript.Echo "Auto logon is enabled." 
Else 
Wscript.Echo "Auto logon is disabled." 
End If
9 关闭自动登录 
 Const HKEY_LOCAL_MACHINE = &H80000002 
strComputer = "." 
Set objReg=GetObject("winmgmts://" & strComputer & "/root/default:StdRegProv") 
strKeyPath = "Software/Microsoft/Windows NT/CurrentVersion/WinLogon" 
strValueName = "AutoAdminLogon" 
dwValue = 0 
oReg.SetDWORDValue HKEY_LOCAL_MACHINE, strKeyPath, strValueName, dwValue 
10 检查Guest是否禁用 
 Set objNetwork = CreateObject("Wscript.Network") 
strComputer = objNetwork.ComputerName 
Set objUser = GetObject("WinNT://" & strComputer & "/Guest") 
If objUser.AccountDisabled Then 
Wscript.Echo "The Guest account is disabled." 
Else 
Wscript.Echo "The Guest account is enabled." 
End If 
11 关闭Guest 
 Set objNetwork = CreateObject("Wscript.Network") 
strComputer = objNetwork.ComputerName 
Set objUser = GetObject("WinNT://" & strComputer & "/Guest") 
If objUser.AccountDisabled Then 
Wscript.Echo "The Guest account is already disabled." 
Else 
objUser.AccountDisabled = True 
objUser.SetInfo 
Wscript.Echo "The Guest account has been disabled." 
End If 
12 检索本地共象 
 strComputer = "." 
Set objWMIService = GetObject("winmgmts://" & strComputer & "/root/cimv2") 
Set colShares = objWMIService.ExecQuery("Select * from Win32_Share") 
For each objShare in colShares 
Wscript.Echo "Name: " & objShare.Name 
Wscript.Echo "Path: " & objShare.Path 
Wscript.Echo "Type: " & objShare.Type 
Next 
13 脚本检索一个文档夹下.txt文档 汗哦 值得学习 
 Set objWMIService = GetObject("winmgmts://./root/cimv2")
Set colFiles = objWMIService.ExecQuery("SELECT * FROM CIM_DataFile WHERE Path = '//Documents
and Settings//Administrator//桌面//' AND Drive = 'E:' AND Extension = 'txt'")
Wscript.Echo "Number of .txt files found: " & colFiles.Count 
for each aa in colFiles
NL=NL & vbcrlf & aa.name
next
Wscript.Echo NL 
14 我如何向用户显示一个用来选择文档的对话框? 
 问:
嗨,Scripting Guy!有没有什么方法能够让我使用脚本向用户显示一个对话框,供用户选择文档使用?
-- BF
答:
您好,BF。假如您使用的是 Windows 2000,我们不知道实现此操作的方法,至少操作系统中没有内置这
样的方法。但假如您使用的是 Windows XP,情况就不同了。在 Windows XP 上,您能够使用
“UserAccounts.CommonDialog”对象向用户显示一个标准的“文档打开”对话框。能够用类似以下代码
的脚本:
Set objDialog = CreateObject("UserAccounts.CommonDialog")
objDialog.Filter = "All Files|*.*" objDialog.InitialDir = "C:/" intResult =
objDialog.ShowOpen
If intResult = 0 Then Wscript.Quit Else Wscript.Echo objDialog.FileName End If 
这是个小脚本,所以让我们逐行进行解释吧。我们首先创建一个对 UserAccounts.CommonDialog 对象
的对象引用(名为“objDialog”)。接着,我们配置对话框的“筛选”属性。我们要显示任何文档,所
以我们将筛选配置成这样:
objDialog.Filter = "All Files|*.*" 
假如我们只想显示文本文档,那该怎么办?在这种情况下,我们将使用以下筛选:
objDialog.Filter = "Text Files|*.txt" 
您也许能够看出他是如何运行的:我们为文档类型提供说明 (Text Files),然后插入一个竖线分隔符
(|),最后使用标准的通配符来指示任何 .txt 文档 (*.txt)。是不是想默认显示 .txt 文档,然后为用
户提供查看任何文档的选项?那么能够使用以下代码:
objDialog.Filter = "Text Files|*.txt|All Files|*.*" 
试一试,您就明白我们的意思了。
然后,我们指定默认文档夹。默认情况下,我们希望对话框显示位于驱动器 C 的根文档夹中的文档,所
以我们这样配置“InitialDir”属性:
objDialog.InitialDir = "C:/" 
希望显示 C:/Windows 文档夹中的文档吗?那么能够使用以下代码:
objDialog.InitialDir = "C:/Windows" 
不必担心:这是个真正的“文档打开”对话框,所以您能够随意单击,并且能够随时停下来。您从
C:/Windows 开始并不意味着您只能打开该文档夹中的文档。
最后,我们使用下面这行代码显示对话框:
intResult = objDialog.ShowOpen 
现在,我们只需坐下来,等待用户选择文档并单击“确定”(或等待用户单击“取消”)。假如用户单
击“取消”,则变量 intResult 将被配置为 0。在我们的脚本中,我们检查 intResult 的值,假如是 0
,我们将只需要使用 Wscript.Quit 来终止此脚本。
但是假如用户实际上选择了文档并单击了“确定”,那该怎么办?在这种情况下,intResult 将被配置为
-1,“FileDialog”属性将被配置为所选文档的路径名。我们的脚本只回显路径名,这意味着我们将得到
类似以下内容的输出:
C:/WINDOWS/Prairie Wind.bmp 
不用说,您并不局限于只回显文档路径。实际上,您能够使用 WMI、FileSystemObject 或一些其他技术
来绑定该文档,然后对其执行删除、复制、压缩或检索文档属性等操作 — 您对文档能够执行的操作差不
多都能够对他执行。
但无论如何,您都需要使用脚本。
顺便说一句,使用此方法,您一次只能选择一个文档,而不能按住“Ctrl”键选择多个文档。有一种方法
能够选择多个文档,至少在 XP 电脑上能够,但是我们只能将此问题留到以后的专栏中讨论了。 
15 我如何确定进程是在哪个帐户下运行的? 
 问:
嗨,Scripting Guy!我有一个脚本,他返回关于电脑上运行的任何进程的信息,只是我不知道如何获
得这些进程在其下运行的用户帐户的名称。您能够帮助我吗?
-- DL
答:
您好,DL。是的,我们能够帮助您。确定进程是在哪个帐户下运行的,实际上相当简单,只是如何着手执
行此操作并不是特别显而易见的。假如您和大多数人相同,那么您可能会通过扫描 Win32_Process 类的
属性来查找名为 Account 或 UserName 或类似的属性。您很有可能很难找到。出现这种情况的原因是:
Win32_Process 没有能够告诉您进程在哪个帐户下运行的属性。
您需要使用“GetOwner”方法来捕获此信息。下面这个脚本能够告诉您 Microsoft Word (Winword.exe)
在哪个帐户下运行:
strComputer = "."Set objWMIService = GetObject("winmgmts://" & strComputer & "/root/cimv2")
Set colProcessList = objWMIService.ExecQuery _ ("Select * from Win32_Process Where Name =
'Winword.exe'")
For Each objProcess in colProcessList objProcess.GetOwner strUserName, strUserDomain
Wscript.Echo "Process " & objProcess.Name & " is owned by " _ & strUserDomain & "/" &
strUserName & "."Next 
我们最感兴趣的是下面这行代码:
objProcess.GetOwner strNameOfUser, strUserDomain 
我们在此所做的就是调用“GetOwner”方法。GetOwner 返回两个“输出参数”,一个返回负责该进程的
用户的名称,一个返回该用户所属的域。为捕获这两个输出参数,我们需要为 GetOwner 方法提供两个变
量。在这个示例脚本中,我们使用了两个分别叫做 strUserName 和 strUserDomain 的变量。名称能够随
意选择;您能够将变量称为 A 和 B 或 X 和 Y 或任何其他您想要的名称。
但是,变量的顺序不能随意配置:返回的第一个值总是用户名,第二个值总是域。这意味着,假如您希望
用 X 表示用户名,用 Y 表示域,那么您要确保您的代码像下面这行代码相同:
objProcess.GetOwner X, Y 
调用 GetOwner 之后,我们就可直接回显进程名和任何者。请注意,我们能够稍微来点儿花样儿 – 使用
域/用户格式。这样,我们就能够回显类似于“fabrikam/kenmyer”的名称。
下面附带提供了另一个脚本,该脚本能够列出电脑上的任何进程连同各个进程的任何者:
strComputer = "."Set objWMIService = GetObject("winmgmts://" & strComputer & "/root/cimv2")
Set colProcessList = objWMIService.ExecQuery _ ("Select * from Win32_Process")
For Each objProcess in colProcessList objProcess.GetOwner strUserName, strUserDomain
Wscript.Echo "Process " & objProcess.Name & " is owned by " _ & strUserDomain & "/" &
strUserName & "."Next 
可能有人感到奇怪,2005 年 1 月 3 日正好是 Microsoft 员工的正式休息日。那么今天为什么会有“嗨
,Scripting Guy!”专栏?这只能是由于 Microsoft 脚本专家表现出来的对工作的难以置信的奉献和投
入精神。或,也可能是由于某个脚本专家 – 还说不出他或她的名字 – 没有意识到今天是假日,所以
照常来了(而且是在早上 7 点啊!)。 
16 能够将脚本的输出复制到剪贴板吗? 
 问:
嗨,Scripting Guy!有办法将脚本输出复制到剪贴板吗?
-- ZW, Marseilles, France
答:
您好,ZW.假如您不介意用一些疯狂的解决方法,那么实际上将脚本输出复制到剪贴板相当容易。首先,
您需要构造一个字符串,其中包含想要的输出。然后,创建 Internet Explorer 的一个实例,然后在其
中打开一个空白页。接着,利用 Internet Explorer 对象模型的内置功能,将字符串复制到剪贴板;特
别是, 能够使用 clipboardData.SetData 方法来实现这个技巧。将某些数据复制到剪贴板的示例脚本如
下:
strCopy = "This text has been copied to the clipboard."
Set objIE = CreateObject("InternetExplorer.Application")
objIE.Navigate("about:blank")
objIE.document.parentwindow.clipboardData.SetData "text", strCopy
objIE.Quit
运行脚本,然后打开 Notepad,然后单击“粘贴”;应该能够看到所复制的字符串。
顺便说一下,任何这一切都是在“幕后”发生的,Internet Explorer 并不会真的出现在屏幕上。这是因
为,在默认情况下,通过脚本创建的任何 IE 实例在运行时都是隐藏的,除非您利用如下语句将其显示出
来:
objIE.Visible = True

这篇关于vbs脚本大全,配有实例的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/792487

相关文章

PyQt6 键盘事件处理的实现及实例代码

《PyQt6键盘事件处理的实现及实例代码》本文主要介绍了PyQt6键盘事件处理的实现示例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起... 目录一、键盘事件处理详解1、核心事件处理器2、事件对象 QKeyEvent3、修饰键处理(1)、修饰键类

SpringBoot+RustFS 实现文件切片极速上传的实例代码

《SpringBoot+RustFS实现文件切片极速上传的实例代码》本文介绍利用SpringBoot和RustFS构建高性能文件切片上传系统,实现大文件秒传、断点续传和分片上传等功能,具有一定的参考... 目录一、为什么选择 RustFS + SpringBoot?二、环境准备与部署2.1 安装 RustF

Linux下MySQL数据库定时备份脚本与Crontab配置教学

《Linux下MySQL数据库定时备份脚本与Crontab配置教学》在生产环境中,数据库是核心资产之一,定期备份数据库可以有效防止意外数据丢失,本文将分享一份MySQL定时备份脚本,并讲解如何通过cr... 目录备份脚本详解脚本功能说明授权与可执行权限使用 Crontab 定时执行编辑 Crontab添加定

Android协程高级用法大全

《Android协程高级用法大全》这篇文章给大家介绍Android协程高级用法大全,本文结合实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友跟随小编一起学习吧... 目录1️⃣ 协程作用域(CoroutineScope)与生命周期绑定Activity/Fragment 中手

MySQL的配置文件详解及实例代码

《MySQL的配置文件详解及实例代码》MySQL的配置文件是服务器运行的重要组成部分,用于设置服务器操作的各种参数,下面:本文主要介绍MySQL配置文件的相关资料,文中通过代码介绍的非常详细,需要... 目录前言一、配置文件结构1.[mysqld]2.[client]3.[mysql]4.[mysqldum

Python文本相似度计算的方法大全

《Python文本相似度计算的方法大全》文本相似度是指两个文本在内容、结构或语义上的相近程度,通常用0到1之间的数值表示,0表示完全不同,1表示完全相同,本文将深入解析多种文本相似度计算方法,帮助您选... 目录前言什么是文本相似度?1. Levenshtein 距离(编辑距离)核心公式实现示例2. Jac

Java调用Python脚本实现HelloWorld的示例详解

《Java调用Python脚本实现HelloWorld的示例详解》作为程序员,我们经常会遇到需要在Java项目中调用Python脚本的场景,下面我们来看看如何从基础到进阶,一步步实现Java与Pyth... 目录一、环境准备二、基础调用:使用 Runtime.exec()2.1 实现步骤2.2 代码解析三、

Python脚本轻松实现检测麦克风功能

《Python脚本轻松实现检测麦克风功能》在进行音频处理或开发需要使用麦克风的应用程序时,确保麦克风功能正常是非常重要的,本文将介绍一个简单的Python脚本,能够帮助我们检测本地麦克风的功能,需要的... 目录轻松检测麦克风功能脚本介绍一、python环境准备二、代码解析三、使用方法四、知识扩展轻松检测麦

Java Stream流以及常用方法操作实例

《JavaStream流以及常用方法操作实例》Stream是对Java中集合的一种增强方式,使用它可以将集合的处理过程变得更加简洁、高效和易读,:本文主要介绍JavaStream流以及常用方法... 目录一、Stream流是什么?二、stream的操作2.1、stream流创建2.2、stream的使用2.

springboot项目中集成shiro+jwt完整实例代码

《springboot项目中集成shiro+jwt完整实例代码》本文详细介绍如何在项目中集成Shiro和JWT,实现用户登录校验、token携带及接口权限管理,涉及自定义Realm、ModularRe... 目录简介目的需要的jar集成过程1.配置shiro2.创建自定义Realm2.1 LoginReal