Board logo

标题: [技术讨论] vbs中的"WScript.Network"[属性与方法] [打印本页]

作者: czjt1234    时间: 2012-10-25 13:08     标题: vbs中的"WScript.Network"[属性与方法]

WScript.Network 创建 WshNetwork 对象,提供对局域网上共享资源的访问


属性
ComputerName                  计算机名
UserDomain                    所属局域网域的域名
UserName                      用户名



方法
AddPrinterConnection          添加dos下的共享打印机
AddWindowsPrinterConnection   添加共享打印机
EnumNetworkDrives             显示所有网络驱动器的映射信息
EnumPrinterConnections        显示所有网络打印机的映射信息
MapNetworkDrive               映射网络驱动器
RemoveNetworkDrive            删除网络驱动器
RemovePrinterConnection       删除网络打印机
SetDefaultPrinter             设置默认打印机



WshNetwork 对象及其属性、方法,都可以在 Script5.6.chm 里找到参考
作者: czjt1234    时间: 2012-10-25 13:10

下面是 WshNetwork 对象的属性和方法的参数,及用法举例

代码测试环境:winxpsp3 IE8 Wscript版本5.7.0.18066

'-------------------------------------------------------------

Dim objWshNetwork, objEnumNetworkDrives, objEnumNetworkPrinters, i

Set objWshNetwork = CreateObject("WScript.Network")
'返回 WshNetwork 对象


'-------------------------------------------------------------

'显示用户名、计算机名、域名信息
MsgBox "域名: "     & objWshNetwork.UserDomain   & vbCrLf & vbCrLf & _
       "计算机名: " & objWshNetwork.ComputerName & vbCrLf & vbCrLf & _
       "用户名: "   & objWshNetwork.UserName


'-------------------------------------------------------------

比如你能通过网上邻居访问 \\a002
在计算机 a002 上设置如下共享:
共享 D 盘为 "本地磁盘 (D)"
共享 E 盘为 "本地磁盘 (E)"
添加打印机 AGFA-AccuSet v52.3,共享名为 AGFA-Acc
添加计算机 Canon Bubble-Jet BJ-10e,共享名为 CanonBub


'-------------------------------------------------------------

objWshNetwork.MapNetworkDrive "X:", "\\a002\本地磁盘 (D)"    '将指定UNC路径映射为本机 X 盘
objWshNetwork.MapNetworkDrive "Y:", "\\a002\本地磁盘 (E)"    '将指定UNC路径映射为本机 Y 盘
'打开"我的电脑",应该可以看到 X 盘和 Y 盘


objWshNetwork.AddWindowsPrinterConnection "\\a002\AGFA-Acc"  '将指定的网络打印机添加到本机
objWshNetwork.AddWindowsPrinterConnection "\\a002\CanonBub"
'控制面板 - 打印机和传真,应该可以看到新添加的打印机


objWshNetwork.SetDefaultPrinter "\\a002\AGFA-Acc"            '设定为默认打印机

objWshNetwork.AddPrinterConnection "LPT1", "\\a002\CanonBub"
'为 dos 环境添加一个新的打印设备 LPT1
'在dos下只有一个打印设备 LPT ,指向默认打印机。打印文本可以用命令行 type 1.txt >LPT
'现在就可以用 type 1.txt >LPT1 ,实现打印输出到 \\a002\CanonBub


'-------------------------------------------------------------

Set objEnumNetworkDrives = objWshNetwork.EnumNetworkDrives
'返回当前的网络驱动器映射信息的集合


'该集合是一个数组,它将各个项对(网络驱动器的本地名称及其相关的 UNC 名称)关联在一起
'集合中的偶数项表示逻辑驱动器的本地名称。奇数项表示与之相关的 UNC 共享名
'集合中第一项的索引编号为零 (0)


'该集合有2个属性
Item   条目
Count  个数


'枚举所有网络驱动器映射的信息
For i = 0 to objEnumNetworkDrives.Count - 1 Step 2
    MsgBox objEnumNetworkDrives.Item(i) & " = " & objEnumNetworkDrives.Item(i+1)
Next


'-------------------------------------------------------------

Set objEnumNetworkPrinters = objWshNetwork.EnumPrinterConnections
'返回当前的网络打印机映射信息的集合


'该集合是一个数组,它将各个项对(网络打印机的本地名称及其相关的 UNC 名称)关联在一起
'集合中的偶数项表示打印机的端口。奇数项表示网络打印机的 UNC 名称
'集合中第一项的索引编号为零 (0)


'该集合有2个属性

Item   条目
Count  个数


'枚举所有网络打印机映射的信息
For i = 0 to objEnumNetworkPrinters.Count - 1 Step 2
    MsgBox objEnumNetworkPrinters.Item(i) & " = " & objEnumNetworkPrinters.Item(i+1)
Next


'-------------------------------------------------------------

objWshNetwork.RemoveNetworkDrive "X:"    '删除指定网络驱动器
objWshNetwork.RemoveNetworkDrive "Y:"


objWshNetwork.RemovePrinterConnection "\\a002\AGFA-Acc", True|False, True|False
objWshNetwork.RemovePrinterConnection "LPT1", True|False, True|False
'删除指定的网络打印机
'第二个参数,True表示无论用户是否连接到该打印机,都将强制删除。缺省值 False
'第三个参数,是否将更改保存在用户的配置文件中。缺省值 False


'-------------------------------------------------------------




欢迎光临 批处理之家 (http://www.bathome.net/) Powered by Discuz! 7.2