VBScript之Windows 脚本宿主

1 WSH 的概念

  • WSH 是一个 Windows 管理工具。 WSH 创建了一个脚本运行的主环境,当脚本到达一台计算机时, WSH 扮演主人的角色。
    WSH 使脚本能够使用对象和服务,并提供脚本执行的准则。此外, WSH 还负责安全管理以及调用适当的脚本引擎。
  • WSH 提供了一些非常便于使用的工具,可以访问散布在网络中,运行各种风格的 Windows 操作系统的机器,从而提供了网络管理的能力。这种访问大部分是通过活动目录服务接口(Active Directory Service Interface, ADSI)和 Windows 管理规范(Windows Management Instrumentation, WMI)实现的。 ADSI 提供了一套 COM接口,可以用于多种目录服务,如轻量级目录访问协议(Lightweight Directory Access Protocol, LDAP)、 Windows NT 目录服务,以及 Novell 的 Netware 和 NDS 服务。
  • WMI 是 Microsoft基于 Web 的企业管理(Web-Based Enterprise Management, WBEM)的实现,这种标准的方法可以访问管理信息,如指定的客户端上安装的应用程序、系统内存,以及其他客户端信息。通过开发使用 ADSI 和 WMI 的 WSH 脚本,系统管理员可以开发脚本以便执行下面列出

1.1 脚本文件类型

独立的脚本文件有一些不同的格式,每种格式都有自己的扩展名
在这里插入图片描述
在这里插入图片描述

1.2 使用 Windows 脚本宿主运行脚本

WSH 提供了两个用于执行脚本的接口,一个用于命令行一个用于 Windows 环境。这两个接口各使用不同的宿主程序作为 VBScript 引擎:

  • cscript.exe:用于在命令行中运行脚本
  • wscript.exe:用于在 Windows 环境中运行脚本
    之所以有两个宿主程序,是因为 cscript.exe 被设计为从控制台窗口启动(一般来说是 Windows 中的 MS-DOS 窗口),而 wscript.exe 则用于直接与 Windows GUI 进行交互。这两者就功能来讲几乎没有区别

1.2.1 命令行执行

执行脚本文件的命令行界面, cscript.exe 调用方法如下:

  1. 打开Run 对话框(按下窗口键+R)或某个命令窗口。
  2. 执行脚本如下:cscript c:\folderName\YourScriptName.vbs,如果直接在命令行中运行 cscript.exe 时不加参数,就只会得到使用帮助信息
    使用语法如下:
    cscript scriptname.extension [option...] [arguments...]
    cscript.exe 提供了中所列的命令行选项,可以用来控制各种WSH 环境设置。
    在这里插入图片描述

1.2.2 在 Windows 环境中执行 WSH

执行脚本文件的Windows GUI界面是wscript.exe,它允许以下列几种方式执行文件:

  • 如果文件的类型注册为在 WSH 中执行,就可以直接在文件夹窗口或桌面上双击这些文件的图标来执行。
  • 如果使用 Run 命令对话框,那么就只要输入脚本的完整路径和名称即可。在 Run 命令对话框中,可以调用 wscript.exe。wscript c:\folderName\YourScriptName.vbs

1.2.3 两种脚本区别

当调试一个出错脚本时, cscript 和 wscript 之间的主要区别实际上变得更明显了。这是因为,相对于 wscript 可能产生的没完没了的弹出窗口来说,向一个控制台窗口发送错误消息显得更快更容易。在调试脚本时,推荐使用 cscript,而在打印调试输出结果时,最好使用 WScript 对象的 Echo 方法,因为调试时能产生大量的需要关注的错误信息。实际上,有时可能使调试者陷入循环,无法从错误消息中摆脱出来

2 Windows 脚本宿主的内建对象

每个编程环境都提供了自己的对象模型,开发人员可以使用这些对象模型实现各种解决方案, WSH 也不例外。 WSH 包含了一组核心对象,分别包含了属性和方法,可以用于访问网络中的其他计算机、导入外部的可脚本化对象以供应用程序使用,或者连接到 Windows或 Windows Shell

2.1 WScript 对象

WSH 对象模型的基础就是 WScript 对象。这个对象提供了使开发人员能够访问各种信息的属性和方法,如:

  • 将要执行的脚本的名称和路径信息
  • Microsoft 脚本引擎的版本
  • 与外部对象的链接
  • 与用户的交互
  • 延迟或中断脚本执行的能力

2.1.1 WScript 的属性

2.1.1.1 Argument

Argument属性包含了 WshArguments对象(一个参数集合)。从该集合中获取单个参数时,使用由 0开始的索引。

2.1.1.2 FullName

FullName 属性是一个只读的字符串,它代表宿主可执行文件(cscript.exe 或 wscript.exe)的有效完整路径。

WScript.Echo WScript.FullName

2.1.1.3 Interactive

Interactive 属性设置脚本的模式,或识别脚本的模式。使用该属性会返回一个布尔值。有两种可用的模式:批处理模式和交互模式。
在交互模式下(默认情况),脚本可以与用户进行交互。可以向 WSH 输入信息, WSH 也可以输出信息,信息被显示在对话框中,等待用户提供反馈。在批处理模式中,不支持用户交互,不支持 WSH 的输入和输出。可以使用 WSH 命令行开关脚本模式//I(交互模式)和//B(批处理模式)来设置脚本模式。

2.1.1.4 Name

Name 属性返回 WScript 对象(宿主可执行文件)的名称,它是一个只读的字符串。下面的代码使用了 Name 属性:WScript.Echo WScript.Name

2.1.1.5 Path

Path 属性返回包含宿主可执行文件(cscript.exe 或 wscript.exe)的目录名。该属性返回一个只读的字符串。
下面的 VBScript 代码将显示可执行文件所在的目录名:WScript.Echo WScript.Path

2.1.1.6 ScriptFullName

ScriptFullName 属性返回当前正在运行的脚本的完整路径。该属性返回一个只读的字符串。

2.1.1.7 ScriptName

ScriptName 属性返回当前正在运行的脚本的文件名。该属性返回一个只读的字符串。
下面的代码显示了正在运行的脚本的名称,:WScript.Echo WScript.ScriptName

2.1.1.8 StdErr

StdErr 属性开放当前脚本的只写的错误输出流。 该属性返回一个标识标准错误流的对象。只有使用 cscript.exe 时才能访问 StdIn、 StdOut 和 StdErr 流。使用 wscript.exe 时如果想访问这些流就会产生一个错误。

2.1.1.9 StdIn

StdIn 属性开放当前脚本的只读的输入流。该属性返回一个标识标准错误流的对象。只有使用 cscript.exe 时才能访问 StdIn、 StdOut 和 StdErr 流。使用 wscript.exe 时如果想访问这些流就会产生一个错误。

2.1.1.10 StdOut

StdOut 属性开放当前脚本的只写的错误输出流。该属性返回一个标识标准错误流的对象。只有使用 cscript.exe 时才能访问 StdIn、 StdOut 和 StdErr 流。使用 wscript.exe 时如果想访问这些流就会产生一个错误。

2.1.2 WScript 的方法

2.1.2.1 CreateObject

WScript 对象的这个方法用于创建一个 COM 对象
object.CreateObject(strProgID[,strPrefix])

  • object: WScript 对象。
  • strProgID:值为字符串,表示想要创建的对象的程序标识符(ProgID)。
  • strPrefix:可选。值为字符串,表示函数前缀。

使用 CreateObject 方法和 strPrefix 参数创建的对象是已连接对象。对象被创建后,其输出接口与脚本文件相连接。
每个事件函数都由这个前缀加上事件的名称来命名。
如果创建对象时没有使用 strPrefix 参数,也可以使用 ConnectObject 方法同步对象的事件。
只要对象产生一个事件, WSH 就会调用一个子程序,其名称是 strPrefix 加上事件的名称

Set WshNetwork = WScript.CreateObject("WScript.Network")

2.1.2.2 ConnectObject

该方法将对象的事件源连接到具有给定前缀的函数
object.ConnectObject(strObject, strPrefix)

  • object: WScript 对象。
  • strObject:必需的。表示想要连接的对象名称的字符串。
  • strPrefix:必需的。表示函数前缀的字符串。
    同步一个对象的事件时,已连接对象是很有用的。对象被创建后, ConnectObject 方法将对象的输出接口连接到脚本文件。事件函数的名称就是这个前缀加上事件的名称。
    WScript.ConnectObject RemoteScript, "remote_"

2.1.2.3 DisconnectObject

该方法用于断开已连接对象的事件源的连接。
object.DisconnectObject(obj)

  • object: WScript 对象。
  • obj:表示想要断开连接的对象名称的字符串。
    断开一个对象的连接意味着 WSH 无法再响应它的事件。
    但是,有一点很重要,那就是断开连接后对象仍然能够产生事件。还要注意的是,如果指定的对象尚未连接, Disconnect
    Object 方法就不会做任何事。

2.1.2.4 Echo

该方法输出一个消息框或一个命令控制台窗口。
object.Echo [Arg1] [,Arg2] [,Arg3] ...

  • object: WScript 对象。
  • Arg1、 Arg2、 Arg3、 ……:可选。表示要显示项目的列表。
    根据当前使用的 WSH 引擎的不同, Echo 方法输出的类型也有所变化
    在这里插入图片描述

2.1.2.5 GetObject

GetObject 方法根据指定的 ProgID 获取某个已存在对象,或从文件创建一个新的对象。
object.GetObject(strPathname [,strProgID], [strPrefix])

  • object: WScript 对象。
  • strPathname:包含将对象保存到磁盘的文件所使用的完整的有效路径名。
  • strProgID:可选。值为字符串,表示想要创建的对象的程序标识符(ProgID)。
  • strPrefix:可选。进行对象事件同步时有用。如果提供了 strPrefix 参数, WSH就会在创建对象之后将对象的输出接口连接到脚本文件。

如果内存中存在对象的一个实例,或者想从文件创建一个对象,都需要使用 GetObject方法。
GetObject 方法适用于所有 COM 类,与创建对象使用的脚本语言无关。
如果内存不存在对象的实例,也不想从文件创建对象,就可以使用 CreateObject 方法。

Dim MyObject As Object
Set MyObject = GetObject("C:\DRAWINGS\SCHEMA.DRW")
MyApp = MyObject.Application

2.1.2.6 Quit

该方法强制脚本在任意时刻立即停止执行。
object.Quit([intErrorCode])

  • object: WScript 对象。
  • intErrorCode:可选。返回一个整数值,作为进程的返回码。如果忽略 intErrorCode 参数,就不会有返回值。

Quit 方法可以用于返回一个可选的错误代码。如果 Quit 方法是脚本中的最后一条命令(并且不需要返回一个非零值),就可以不使用任何参数,这样脚本就会正常退出。

2.1.2.7 Sleep

该方法将脚本的执行挂起一段时间,然后接着执行。
object.Sleep(intTime)

  • object: WScript 对象。
  • intTime:这是一个整数值,表示希望脚本进程保持非活跃状态的时间间隔(以毫秒为单位)。

使用这个方法时,运行脚本的线程被挂起,占用的 CPU 被释放。当间隔时间到,就会继续恢复执行。要想被事件所触发,脚本必须持续活跃,因为已经结束执行的脚本是肯定不能检测到任何事件的。脚本所处理的事件在脚本休眠时仍然会被执行。

2.2 WshArguments 对象

2.2.1 访问 WshArgument 对象

它是通过使用WScript.Arguments 属性来实现的。Set objArgs = WScript.Arguments

2.2.2 WshArgument 对象的属性

WshArgument 对象是一个由 WScript 对象的 Arguments 属性返回的集合(WScript.Arguments)。
访问命令行参数集合有下列三种方法:

  • 使用 WshArguments 对象访问整个参数集合。
  • 使用 WshNamed 对象访问有名字的参数。
  • 使用 WshUnnamed 对象访问没有名字的参数

2.3 WshShell 对象

2.3.1 访问 WshShell 对象

要使用下面这一节中将要列出的属性,程序员必须创建一个 WScript.Shell 对象的实例。这样以后对 WshShell 对象的引用实际就是对新创建实例的引用。
Set WshShell= WScript.CreateObject( "WScript.Shell" )

2.3.2 WshShell 对象的属性

WshShell 对象有三个属性:

  • CurrentDirectory
  • Environment
  • SpecialFolders

2.3.2.1 CurrentDirectory

该属性获取或更改当前活动目录
object.CurrentDirectory
object: WshShell 对象。
CurrentDirectory 属性返回一个字符串,其中包含当前活跃进程的当前工作目录的完整有效路径名。

2.3.2.2 Environment

该属性返回 WshEnvironment 对象(一个环境变量集合)。
object.Environment ([strType])

  • object: WshShell 对象。
  • strType: 可选。指定环境变量的位置。
    Environment 属性包含 WshEnvironment 对象(一个环境变量集合)。如果指定了 strType,就指定了环境变量所在的级别的值:
    System, User, Volatile, Process
    如果没有指定 strType, Environment 属性就会根据不同的操作系统返回不同的环境变量类型,如下图
    在这里插入图片描述

2.3.2.3 SpeciolFolders

该属性返回一个 SpecialFolders 对象(一个特殊文件夹集合)。
object.SpecialFolders(objWshSpecialFolders)

  • object: WshShell 对象。
  • onjWshSpecialFolders:特殊文件夹的名称。
    WshSpecialFolders 对象是一个集合,它包含所有的 Windows 特殊文件夹,其中包括 Desktop 文件夹、 Start Menu 文件夹和Documents/My Documents 文件夹,特殊文件夹的名称用于索引集合以获取想要的具体文件夹。如果被请求的文件夹(strFolderName)不可用, SpecialFolder 属性将返回一个空字符串。
    下面是可用的特殊文件夹:
  • AllUsersDesktop
  • AllUsersStartMenu
  • AllUsersPrograms
  • AllUsersStartup
  • Desktop
  • Favorites
  • Fonts
  • MyDocuments
  • NetHood
  • PrintHood
  • Programs
  • Recent
  • SendTo
  • StartMenu
  • Startup
  • Templates

2.3.3 WshShell 对象的方法

2.3.3.1 AppActivate

这个方法可以用于激活一个指定的已经打开的应用程序窗口。
object.AppActivate title

  • object: WshShell 对象。

  • title:指定要激活的应用程序。这可以是一个包含应用程序标题的字符串(就像出现在标题栏中的那样)或应用程序的进程 ID。

     `AppActivate `方法返回一个 Boolean 类型的值,标志着过程调用是否成功。这个方法用于将焦点切换至指定名称的应用程序或窗口。
    

方法的调用不影响应用程序的最大化或最小化状态。当进行了切换焦点(或关闭窗口)的动作之后,焦点就会从已经获得焦点的应用程序上移走。
为了确定要激活的应用程序,指定的标题名称会与每个正在运行的应用程序的标题字符串做比较。如果没有准确的匹配,那么具有以 title 所指定的值开始的标题字符串的应用程序就会被激活。如果还是没有能找到合适的应用程序,那么具有以 title 所指定的值结束的标题字符串的应用程序就会被激活。如果存在多个名为 title 所指定的值的应用程序实例,就会任意激活其中的一个。但是,无法控制具体选择哪一个

2.3.3.2 CreateShortcut

该方法可以用于创建一个新的快捷方式,或打开一个已有的快捷方式。
object.CreateShortcut(strPathname)

  • object: WshShell 对象。
  • strPathname:一个表示要创建的快捷方式的路径名。

CreateShortcut 方法返回一个 WshShortcut 对象或一个 WshURLShortcut 对象。调用 CreateShortcut 方法不会导致快捷方式的真正创建,而是将快捷方式对象以及对其所做的修改保存在内存中,直到使用 Save 方法将其保存至磁盘。要真正创建一个快捷方式,必须完成下
列三个步骤:

  • 创建 WshShortcut 对象的一个实例。
  • 初始化其属性。
  • 使用 Save 方法将其保存到磁盘。

容易出问题的是将参数放到快捷方式对象的 TargetPath 属性中,这通常是无用的。快捷方式的所有参数都必须放在 Arguments 属性中

2.3.3.3 ExpandEnvironmentStrings

该方法返回环境变量的扩充值。
object.ExpandEnvironmentStrings(strString)

  • object: WshShell 对象。
  • strString:一个字符串值,表示想要扩充的环境变量的名称。
    这个方法只对 PROCESS 环境空间内定义的环境变量进行扩充。环境变量的名称必须以“%”包围,并且是大小写不敏感的。

2.3.3.4 LogEvent

LogEvent 方法向日志文件中添加一个事件条目。
object.LogEvent(intType, strMessage [,strTarget])

  • object: WshShell 对象。
  • intType:表示事件类型的整数值。
  • strMessage:包含日志条目文本的字符串值。
  • strTarget:可选。一个字符串值,表示事件日志所存储的计算机系统名称(默认的是本地计算机系统)。
    有 6 种事件类型
    在这里插入图片描述

2.3.3.5 Popup

该方法用于在弹出式消息框中显示文本。
intButton = object.Popup(strText,[nSecondsToWait],[strTitle],[nType])

  • object: WshShell 对象。
  • strText:一个字符串值,包含了想要显示在弹出式消息框中的文本。
  • nSecondsToWait:可选。一个数值,表示想要弹出式消息框显示的最长时间(以秒为单位)。如果 nSecondToWait 等于 0(默认值),弹出式消息框就一直可见,直到被关闭。如果 nSecondToWait 大于 0, 那么弹出式消息框就在 nSecondToWait 秒后关闭。
  • strTitle:可选。一个字符串值,包含了想要出现在弹出式消息框标题栏中的文本。如果没有提供 strTitle 这个参数,弹出式消息框的标题就会被设置为默认的字符串―Windows Script Host‖。
  • nType:可选。一个数值,表示想在弹出式消息框中出现的按钮和图标的类型。这些决定了消息框的使用场合和用途。 nType 的功能与 Microsoft Win32 应用程序编程接口中的 MessageBox 函数相同。下面的表格显示了各种值和它们的含义。可以合并列表中不同的值获得各种不同的结果。
  • IntButton:一个整数值,表示关闭消息框时单击的按钮的序号,这个值是由 Popup 方法返回的。

按钮类型:
在这里插入图片描述
图标类型:
在这里插入图片描述
关闭消息框时所单击的按钮的编号:
在这里插入图片描述

2.3.3.6 RegDelete

该方法从注册表中删除一个键或其键值。
object.RegDelete(strName)

  • object: WshShell 对象。
  • strName:一个字符串值,表示要删除的注册表键或键值的名称。

如果 strName 以反斜杠结尾,就可以指定键名,如果不使用反斜杠,就可以指定键值名。完整的有效键名和键值名是以一个根键的名称作为前缀的。使用 RegDelete 方法时,也可以使用根键名的缩写形式。
5 种可能使用的根键:
在这里插入图片描述

2.3.3.7 RegRead

该方法返回注册表中一个键或键值的名称。
object.RegRead(strName)

  • object: WshShell 对象。
  • strName:一个字符串值,表示想获得的键或键值的名称。
    RegRead 方法返回的值有 5 种类型
    在这里插入图片描述

2.3.3.8 RegWrtie

该方法可以创建一个新键,给现有键添加另一个键值名(并指定一个值),或修改现有键值名的值。
object.RegWrite(strName, anyValue [,strType])

  • object: WshShell 对象。
  • strName:一个字符串值,表示想创建、添加或修改的键名、键值名或键值。
  • anyValue:想要创建的新键的名称,或想添加到现有键的键值名,或想指定给某个现有键值名的新键值。
  • strType:可选。一个表示键值数据类型的字符串。
    如果 strName 以反斜杠结尾,就可以指定键名,如果不使用反斜杠,就可以指定键值名。RegWrite 方法自动将参数 anyValue 转换成一个字符串或一个整数,而由 strType 的值决定其数据类型(是字符串还是整数)。
    strType 方法的可用选项:
    在这里插入图片描述

2.3.3.9 Run

Run 方法在一个新进程中运行一个程序。
object.Run(strCommand, [intWindowStyle], [bWaitOnReturn])

  • object: WshShell 对象。
  • strCommand:一个字符串,表示想要运行的命令行,必须包含所有要传递给可执行文件的参数。
  • intWindowStyle:可选。一个整数值,表示程序窗口的外观。并不是所有的程序都使用这一信息。
  • bWaitOnReturn:可选。一个 Boolean 值,表示脚本在其下一条语句之前是否需要等待程序结束。如果设置为 True,脚本一直停止执行直到程序结束, Run 返回任一个由程序返回的错误代码。如果设置为 False(默认),程序启动后, Run 方法立即返回 0(这不是错误代码)。

Run 方法返回一个整数。该方法使用一个新的 Windows 进程启动运行一个程序。可以让脚本等待程序运行完毕再继续执行,这样就可以是脚本和程序同步执行。如果将某个文件类型成功注册到某一个特定程序,那么对该文件调用 Run 方法就会启动注册的程序。
例如,对一个*.txt 文件调用 Run 方法,就会启动记事本程序并将文本文件加载到其中。
列出了 intWindowStyle 的可用值
在这里插入图片描述
在这里插入图片描述

2.3.3.10 SendKeys

Sendkeys 方法向活跃窗口发送一次或多次击键(仿佛来自键盘)。
object.SendKeys(string)

  • object: WshShell 对象。
  • string:一个字符串值,表示想要发送的击键。

使用 SendKeys 方法可以向没有内建的自动化接口的应用程序发送击键。多数键盘字符可由单个击键表示,但有些键盘字符是由击键的组合构成的(例如 Alt+F4)。要发送一个单独的键盘字符,只要将该字符本身作为字符串参数发送即可。要发
送字母“v”。要发送一个空格,可以发送“ ”。
SendKeys 方法使用某些字符作为其他字符的限定符。这些特殊的字符包括圆括弧、尖括弧、花括弧,
在这里插入图片描述
要发送这些字符,可以将它们包含在一对花括弧{}中间。所以如果要发送加号,可以发送字符串参数{+}
要发送方括弧字符,可以使用字符串数组{[}发送左括弧,使用字符串数组{]}发送右括弧。

某些击键不产生任何字符(如 Enter 和 Tab),某些击键代表一些动作(如 Backspace 和 Break)。要发送这些击键,
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
要发送常规字符与Shift、 Ctrl 或 Alt键的组合,就需要创建一个复合的字符串参数以表示这种击键组合
在这里插入图片描述
当用做这种用途时,这些特殊字符不需要被包含在花括弧中。要表示按下其他某些键的同时,必须按下Shift、 Ctrl 或 Alt键的情况,可以修改圆括弧中包含的击键序列创建一个复合的字符串参数。例如下面这些击键以及相应的操作:

  • 按下 Shift 的同时按下 V 和 B,发送字符串参数+(VB)

  • 按下 Shift 的同时按下 V,然后长按 B(不要按下 Shift),发送字符串参数+VB

      可以使用 `SendKeys` 方法发送一个单独的击键被按下若干次所构成的击键模式。可以创建一个复合的字符串参数,指定想要重复的击键,后面再跟上想要重复的次数。使用的复合字符串参数形如`{击键 次数}`。例如,要发送`“V”被按下 10 次`的击键模式,可以发送字符串
    

参数"{V 10}”
单个击键被按下若干次的模式是唯一的一种能够发送的击键模式。例如,可以发送 10次“V”,但不能发送 10 次“Ctrl+V”。注意,不能向应用程序发送 Print Screen 键{PRTSC}

2.3.3.11 Exec

Exec 方法在一个子命令解释器中运行一个应用程序,子命令解释器提供对 StdIn、 StdOut 和 StdErr 流的访问。
object.Exec(strCommand)

  • object: WshShell 对象。
  • strCommand:一个字符串值,表示用于运行脚本的命令行。

Exec 方法返回一个 WshScriptExec 对象,该对象提供使用 Exec 运行的脚本的状态和错误信息,也提供对 StdIn、 StdOut 和 StdErr 通道的访问。 Exec 方法只能执行命令行应用程序,并且不能用于运行远程脚本

2.4 WshNetwork 对象

	WshNetwork 对象提供对计算机所连接的网络上共享资源的访问。如果想连接到网络共享或网络打印机,从网络共享或网络打印机断开连接,映射或删除网络共享,或访问网络上某一用户的信息,都需要创建一个 WshNetwork 对象。

2.4.1 访问 WshNetwork 对象

该对象的访问是通过创建 WScript.Network 对象的实例实现的。
Set WshNetwork = WScript.CreateObject("WScript.Network")

2.4.2 WshNetwork 对象的属性

2.4.2.1 ComputerName

ComputerName 属性返回计算机系统的名称。
object.ComputerName

  • object: WshNetwork 对象。
    ComputerName 属性包含一个字符串值,表示计算机系统的名称

2.4.2.2 UserDomain

UserDomain 属性返回用户的域名。
object.UserDomain

  • object: WshNetwork 对象。
    UserDomain 属性返回用户的域名

2.4.2.3 UserName

UserName 属性返回某个用户的名称。
object.UserName

  • object: WshNetwork 对象。
    UserName 属性以字符串返回一个用户的名称
发布了334 篇原创文章 · 获赞 186 · 访问量 31万+

猜你喜欢

转载自blog.csdn.net/u012060033/article/details/103434819