下面的演练将介绍典型的网络管理员或其他 IT 专业人士如何使用 WSH 5.6 创建用于完成有用任务的过程。
注意 该演练是用 VBScript 展示的。用于创建这些脚本的过程对于使用 VBScript 或 JScript 的开发人员而言几乎是相同的。
在该演练过程中,您将会执行以下操作:
为完成该演练,所有远程计算机都必须配置正确以便启用远程 WSH。有关启用这些安全设置的详细信息,请参阅设置远程 WSH。
注意 下面的代码来自本文档中包含的示例。若要查看整个示例,请参阅 WSH 网络管理员示例脚本。
创建必要的变量和常数
Dim FSO Dim Services Dim SecDescClass Dim SecDesc Dim Trustee Dim ACE Dim Share Dim InParam Dim Network
Const FolderName = "C:\Public" Const AdminServer = "\\AdminMachine" Const ShareName = "Pubs" Const PrinterShare = "\\CorpPrinters\PrinterShare"
将计算机与公用的打印设备连接
Set Network = CreateObject("Wscript.Network") Network.AddWindowsPrinterConnection PrinterShare
将计算机设为默认打印设备
Network.SetDefaultPrinter PrinterShare
在计算机上创建公用共享点
Set FSO = CreateObject("Scripting.FileSystemObject") If Not FSO.FolderExists(FolderName) Then FSO.CreateFolder(FolderName) End If
将文件复制到新建文件夹中
Call FSO.CopyFile(AdminServer & "\Public\Images\*.*",FolderName)
用 WMI 将新建文件夹设为共享点
注意 WMI 是基于 Web 的企业管理 (WBEM) 的功能强大而又高级的技术。WMI 主要用于访问和管理企业环境中的管理信息。有关 WMI 的详细信息,请参阅 Microsoft Windows 管理规范:背景和概述,网址为 (http://msdn.microsoft.com/library/default.asp?URL=/library/backgrnd/html/wmixwdm.htm)。
Set Services = GetObject("WINMGMTS:{impersonationLevel=impersonate,(Security)}!"& AdminServer & "\ROOT\CIMV2") Set SecDescClass = Services.Get("Win32_SecurityDescriptor") Set SecDesc = SecDescClass.SpawnInstance_() Set Trustee = Services.Get("Win32_Trustee").SpawnInstance_ Trustee.Domain = Null Trustee.Name = "EVERYONE" Trustee.Properties_.Item("SID") = Array(1,1,0,0,0,0,0,1,0,0,0,0) Set ACE = Services.Get("Win32_Ace").SpawnInstance_ ACE.Properties_.Item("AccessMask") = 2032127 ACE.Properties_.Item("AceFlags") = 3 ACE.Properties_.Item("AceType") = 0 ACE.Properties_.Item("Trustee") = Trustee SecDesc.Properties_.Item("DACL") = Array(ACE) Set Share = Services.Get("Win32_Share") Set InParam = Share.Methods_("Create").InParameters.SpawnInstance_() InParam.Properties_.Item("Access") = SecDesc InParam.Properties_.Item("Description") = "Public Share" InParam.Properties_.Item("Name") = ShareName InParam.Properties_.Item("Path") = FolderName InParam.Properties_.Item("Type") = 0 Share.ExecMethod_("Create",InParam)
本文档中的示例包含一个完整的可执行脚本,它具有上述所有功能。请参阅 WSH 网络管理员示例脚本。
在运行该脚本前,要确保所有远程计算机都配置正确以便运行远程脚本。这是通过服务器上的 Poledit.exe 实现的。有关详细信息,请参阅设置远程 WSH。
运行远程 WSH 时,该脚本被复制到远程计算机上。验证了远程计算机的安全设置并成功复制脚本后,就会返回成功或失败的消息。如果成功,就会在远程计算机上执行脚本。有关运行远程 WSH 脚本的详细信息,请参阅远程运行脚本。