COM 是一个 Windows 特定的标准化 API,允许应用程序显示供 COM 客户端使用的服务。 COM 客户端支持允许访问各种 COM 服务器,如 Internet Explorer、Microsoft Office 或与管理相关的各种操作系统服务,尤其是 WMI。 new-comObject 命令可创建代理客户端对象,这些对象使 COM 服务器显示的服务可用于编写脚本。
命令的语法如下:
new-comObject progid [-locale lcid]
指定一个用于标识要实例化的 COM 对象的字符串。 该字符串可以是用户可读的程序 ID (PROGID),也可以是内部 CLSID。 指定 CLSID 时,必须将其置于大括号内。
指定一个用于定义 COM 服务器(支持多个区域设置)所需的区域设置的整数。
默认:0
new-comObject 返回一个表示 AutoShell 和 COM 服务器之间代理的对象。 该对象对 COM 服务器显示的方法和属性进行镜像。 有关某个 COM 服务器的公共接口的详细信息,请参阅该服务器的程序员文档。 使用返回的 AutoObject 的正则 JavaScript 语法访问显示的方法和属性。
示例
使用 Internet Explorer 打开一个网页并查询其 URL:
o = new-comObject InternetExplorer.Application // 使 Internet Explorer 可见 o.Visible = true; o.navigate("www.ca.com"); // 获取活动文档(另一个 COM 对象) doc = o.document ? doc.Url // 例如 http://www.ca.com/us
使用脚本化对象获取计算机名称:
o = new-comObject WScript.Network ? o.ComputerName
使用 WMI 检索有关操作系统和逻辑驱动器的信息:
loc=new-comObject WbemScripting.SWbemLocator // 对于 localhost,实际上并不需要安全性 loc.Security_.AuthenticationLevel=0; // wbemAuthenticationLevelDefault loc.Security_.ImpersonationLevel=3; // wbemImpersonationLevelImpersonate wmisrv=loc.connectServer("localhost", "root\cimv2"); items = wmisrv.ExecQuery("Select * from Win32_OperatingSystem"); // 返回的集合只包含一项, // 因为只有一个运行的 OS os = items[0]; ? "OS Type:", os.Caption; ? "Service Pack:", os.CSDVersion; ? "Computer name:", os.CSName; ? "FreePhysicalMemory:", os.FreePhysicalMemory; ? "RegisteredUser:", os.RegisteredUser; ? "TotalVisibleMemorySize:", os.TotalVisibleMemorySize; ? "Version:", os.Version; ? "WindowsDirectory:", os.WindowsDirectory; // 现在对于磁盘 items = wmisrv.ExecQuery("Select * from Win32_LogicalDisk"); // 针对返回的磁盘迭代 for(i in items) { disk = items[i]; ? "Description:", disk.Description; ? "DeviceID:", disk.DeviceID; ? "FileSystem:", disk.FileSystem; ? "FreeSpace:", disk.FreeSpace; ? "Name:", disk.Name; ? "Size:", disk.Size; }
版权所有 © 2013 CA。
保留所有权利。
|
|