- 浏览: 391785 次
- 性别:
- 来自: 天津
文章分类
- 全部博客 (196)
- window编程 (18)
- FLEX (37)
- 数据库 (5)
- Java---Struts2 (8)
- Window相关知识 (4)
- 网站建设相关知识 (2)
- java基础知识 (6)
- C# (8)
- 虚拟化 (3)
- 服务器--sound server (1)
- 网络协议 (5)
- Linux (21)
- linux-命令 (3)
- Windows-2008R2 (1)
- VBScript,异常处理 (1)
- windows域 (1)
- 弦歌不辍 (1)
- 语言---c++ (16)
- MFS (1)
- grub (1)
- 技术介绍 (3)
- 百度之星 (5)
- Web服务 (1)
- 存储管理 (2)
- NoSQL (3)
- plymouth (1)
- 工具 (1)
- 云计算 (1)
- 嵌入式 (1)
- usbip (1)
最新评论
-
canghailan:
C++中能直接操作的最大位数64,每64位统计,最后相加,暂时 ...
判断一段内存是否全部为0 -
yiranwuqing:
canghailan 写道Hamming weight 算法应 ...
判断一段内存是否全部为0 -
canghailan:
Hamming weight 算法应该效率更高
判断一段内存是否全部为0 -
zoufangyingzi:
楼主都用了哪些jar包,压缩包中没有lib包///
Rest实例演示 -
zpz112358:
具体是什么意思啊?
flex blazed 配置多个remoting-config
转自:http://hi.baidu.com/peter_she/blog/item/2203c4f198411ac87931aab5.html
一般情况下,可以在本地计算机上执行的 WMI 操作也可以在远程计算机上执行,只要您拥有该计算机的管理员权限。 如果您对远程命名空间拥有权限(请参见如 何设置 WMI 命名空间的安全性? ) 并且远程计算机支持远程访问,您就可以连接到该远程计算机并执行拥有相应权限的操作。另外,如果远程计算机启动了委派,您还可以使用委派功能。委派允许远 程计算机使用来自客户端的身份验证信息到另外一台计算机上获取数据。 换句话说,您可以在计算机 A 上运行脚本连接到计算机 B;计算机 B 将会使用运行在计算机 A 上的脚本所提供的用户名和密码来连接计算机 C。关于委派情境的故障处理,请参见远 程操作涉及到第三台计算机的时候为何失败?
使用 WMI 工具连接远程命名空间
1. |
想使用类似 CIM Studio 或 Wbemtest
这样的工具进行远程连接,必需按照以下格式指定一个命名空间:“\\<machinename>\root
\<namespace>” |
2. |
身份验证可以使用 Kerberos 或 NTLM 进行处理。如果使用 NTLM 或默认(非 Kerberos)验证,请指定如下内容: User
:<domain>\<User> User
:kenmyer |
3. |
要使用 Kerberos 认证,请按如下指定: User
:<domain>\<User> User
:kenmyer |
使用脚本连接到远程计算机上的 WMI
1. |
开始之前,请确保对远程命名空间拥有相应的权限。 如果拥有权限,您可以在不指定用户身份信息的情况下连接到远程计算机。WMI 将使用您登陆时输入的用户身份进行连接。 |
||||||||||
2. |
如果不指定用户身份信息,您可以使用被称作 别名字符串 的简短连接语法连接到远程计算机。更多信息,请访问:http://msdn.microsoft.com/library/default.asp 并搜索 “Constructing a Moniker String”(构造一个别名字符串)。例如,以下别名字符串将连接到一个名为 TargetComputer 的远程计算机的默认命名空间(因为没有指定命名空间,会自动连接到默认的命名空间):
|
||||||||||
3. |
也可以在脚本中指定用户的身份验证信息;这样,即使您用一个标准用户账户登录到远程计算机,仍然可以运行需要管理员权限的 脚本。更多信息,请访问:http://msdn.microsoft.com/library/default.asp 并搜索 “Creating a WMI Script”(创建 WMI 脚本)。 wbemImpersonationLevelImpersonate = 3 wbemAuthenticationLevelPktPrivacy = 6 Set objLocator = CreateObject("WbemScripting.SWbemLocator") Set objService = objLocator.ConnectServer _ ("TargetComputer", "root\cimv2", "UserName", "Password") objService.Security_.ImpersonationLevel = wbemImpersonationLevelImpersonate objservices.Security_.AuthenticationLevel = wbemAuthenticationLevelPktPrivacy |
注意 。一般来说,在脚本代码中写入管理员密码是不明智的。更好的办法是在每次运行的时候询问密码。
更多信息,请访问http://msdn.microsoft.com/library/default.asp 并搜索“Connecting Between Different Operating Systems”(不同操作系统间的连接)。
使用 WMIC 连接 WMI
如果对远程命名空间拥有权限并且远程计算机支持远程操作,则连接的时候可以不指定用户名和密码,WMIC 会自动使用当前的用户身份信息。例如:
WMIC /NODE:"computer1" OS GET Caption,CSDVersion,CSName
如果需要使用委派,应该在 WMIC 连接字符串中包含 /IMPLEVEL:Delegate 和 /AUTHORITY 设置。例如:
WMIC /NODE:"computer1" /IMPLEVEL:Delegate /AUTHORITY:"Kerberos:domain\computer1" OS
另外,您也可以选择指定用户账户和密码(对于 WMI 脚本,默认只有管理员拥有 WMI 远程连接权限)。例如:
WMIC /NODE:"computer1" /USER:"domainname\username" OS GET Caption,CSDVersion
下面这个命令的例子包含了密码和用户名:
WMIC /NODE:"computer1" /USER:"domainname\username" /PASSWORD:"userpassword" OS GET Caption,CSDVersion,CSName
更多信息,请访问http://msdn.microsoft.com/library/default.asp 并搜索 “Connecting to WMI on a Remote Computer”(连接到远程计算机上的 WMI)。
“拒绝访问”(Access Denied)错误意味着什么?
试图连接到 WMI 命名空间或对象的时候可能会遇到“Access Denied”错误。Access Denied 错误有多种类型:
0x80041003 (WBEM_E_ACCESS_DENIED)
试图连接命名空间的进程如果没有必需的 WMI
权限通常是出现该错误的原因。试图进行远程访问的账户应该是目标计算机的管理员;另外,该账户的具体权限也需要被启用。
要解决该错误,请检查远程计算机上的命名空间的安全性,确定是否为该账户启用了相应的权限。
0x80070005 (DCOM ACCESS_DENIED)
如果远程计算机不能识别连接用户或者对其具有某种形式的限制(例如,该用户被锁定),就会导致该错误。 这种情况大多数是因为账户属于另外一个域。对
WMI 安全性的最新修改也可能导致该错误发生:
• |
以前版本允许的空密码在 Windows XP 和 Windows Server 2003 中不被允许。 |
• |
WMI 不支持针对 Windows 98 客户端的异步回调。从 Windows 98 计算机到 Windows XP 计算机的 SWbemServices.ExecNotificationQueryAsync 调用将会向 Windows 98 计算机返回一个“拒绝访问”错误。 |
• |
DCOM 访问设置可能发生了改变。 |
• |
如果目标计算机运行 Windows XP,注册表键 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa 下的 Forceguest 值可能被设置为强制禁止 Guest 账户(值为 0)。 |
0x800706xx (DCOM RPC 错误)
如果远程计算机配置了防火墙,通常会导致该错误。 您需要在防火墙上打开特定端口,允许通过 DCOM 进行远程管理。
或者,计算机可能在映射 IP 和主机名方面出现了问题。要测试这种可能性,请尝试在连接字符串中使用 IP 地址代替主机名:
Set objWMIService = GetObject("winmgmts:\\192.168.1.1")
要排除远程错误
1. |
请检查用户是否可以访问远程计算机。在命令提示行执行以下命令: net user \\< remotecomputer >\\C$ /u:< domain\username > * |
||||||||||||
2. |
在远程计算机上启用“详细的日志记录”,然后重新运行脚本。脚本运行之后, 检查远程计算机上的日志文件(%windir%\system32\wbem\Logs\)。 |
||||||||||||
3. |
启用审核事件来判断哪一个账户连接失败。启用之后,您将在事件日志中看到类似如下的事件: Event Type:????Failure Audit Event Source:????Security Event Category:????Logon/Logoff Event ID:????529 Date:????????6/14/2004 Time:????????10:52:35 AM User:????????NT AUTHORITY\SYSTEM Computer:????<remote machine> Description: Logon Failure: ?????Reason:????????Unknown user name or bad password ?????User Name:????xuser ?????Domain:????????NTDEV ?????Logon Type:????3 ?????Logon Process:????NtLmSsp ?????Authentication Package:????MICROSOFT_AUTHENTICATION_PACKAGE_V1_0 ?????Workstation Name:????<console Machine > |
||||||||||||
4. |
Check the DCOM configuration for the Access\Launch permission; the user running the script must have this permission. |
||||||||||||
5. |
如果所有这些检查都正常,如果用户可以被远程计算机识别,但仍然会发生“DCOM 拒绝访问”错误,请联系产品支持服务(http://support.microsoft.com/default.aspx ) 并提供以下信息:
|
发表评论
-
修改网络映射磁盘的方法
2013-03-07 10:46 1460相信很多人都一直希望能够修改网络映射磁盘的La ... -
无法安装silverlight4 for vs 2010
2012-05-21 14:28 955我的操作系统 window XP 32 bit 中文 V ... -
一个封锁操作被对 WSACancelBlockingCall 的调用中断
2011-12-20 20:38 4217异常信息: System.Net.Sockets.Socke ... -
Windows开机自动启动程序
2011-12-14 18:51 2466自动启动程序在哪里? ... -
C# 操作注册表
2011-12-13 21:41 1094首先我们来熟悉一下C# ... -
CMD命令大全,C#调用CMD命令
2011-12-12 10:22 3045XP.CMD命令大全有关某个 ... -
C# WinForm 只运行一个程序实例
2011-09-14 22:08 2732方法一: using System; using ... -
Window 窗口层次关系
2011-03-01 00:23 1421http://www.360doc.com/content/1 ... -
C++ 的源码好网站
2011-01-05 21:04 1794C/C++是最主要的编程语言。这里列出了50名优秀网站和网页清 ... -
XP实现多用户同玩一台电脑的方法
2010-12-27 01:23 990首先是在Windows XP上安装SP2正式版,按照常规方式安 ... -
由 WINDOWS 远程桌面导致的 DirectSound设置不可用
2010-12-27 01:01 1979在网络中,为了方便维护服务器,一般都会选择WINDOWS自带的 ... -
VB 捕获系统注销、关机事件
2010-07-06 15:14 1695正文开始: 目前网上,能够截获系统注销、关机事件消息的VB代 ... -
钩子程序
2010-06-05 11:39 1449基本概念 钩子(Hook),是Windows消息处理机制 ... -
如何使用WMI获取进程信息(异步处理)
2010-06-05 11:38 1500以下示例演示如何使用WMI 获得本地机器的进程列表(当然,W ... -
WMI简单介绍
2010-06-05 11:19 2231要成为WMI脚本高手当要 ... -
WMI可用的信息介绍
2010-06-05 11:19 1078Win32_Processor, // CPU 处理器 ... -
WMI可用的信息介绍
2010-06-05 11:19 1104Win32_Processor, // CPU 处理器 ...
相关推荐
3. **执行管理操作**:WMI提供了多种类和方法,如`Win32_Process`类可用于创建、终止或管理远程计算机上的进程,`Win32_Service`类则可用来启动、停止或改变服务状态。 4. **处理结果**:执行查询或操作后,你需要...
通过以上步骤,你可以使用C#通过WMI技术控制远程计算机,获取其系统信息,甚至执行管理任务。这个例子不仅适用于操作系统信息,还可以扩展到获取和管理网络适配器(Win32_NetworkAdapter)、进程(Win32_Process)等...
10:如何使用 WMI 管理远程计算机? 11:远程操作涉及到第三台计算机的时候为何失败? 12:为什么我的查询需要很长时间才能完成? 13:如何列出特定计算机上已经安装的所有应用? 14:如何获得性能计数器数据?
### C#中使用WMI控制远程计算机的知识点详解 #### WMI简介 Windows Management Instrumentation (WMI) 是Microsoft提供的一套用于管理Windows系统的方法和技术。它为管理员提供了查询和控制本地或远程计算机上的...
- 使用WMI进行远程操作通常涉及创建一个`SWbemLocator`对象,然后连接到远程计算机的命名空间,例如`\\RemoteComputer\root\CIMV2`。 3. **注册表操作** - WMI中的`StdRegProv`类提供了对注册表的操作,如读取、...
WMI是Microsoft在Windows平台上实现的一种基于COM的技术,它允许应用程序、用户脚本和管理员访问关于本地或远程计算机的硬件和操作系统的信息。WMI支持多种编程语言,包括但不限于C#、VBScript等。 #### 远程关机...
然后,创建一个 ManagementScope 对象,指定远程计算机的路径和连接选项。 使用 ObjectQuery 对象可以查询远程系统的信息,例如进程列表、系统信息、服务列表等。 在查询结果中,可以使用 foreach 循环遍历结果,...
"使用C#控制远程计算机的服务" 在.NET中,System.ServiceProcess命名空间下的ServiceController类和System.Management命名空间下的WMI操作类提供了显示和控制Windows系统上的服务的功能。然而,使用Service...
这两个函数可以分别用来获取远程服务器的CPU和内存使用率,它们是通过WMI连接到远程计算机并执行查询来获取数据的。请注意,为了能够成功连接到远程机器,需要确保防火墙设置允许WMI通信,并且账户有足够的权限。 ...
### 学习使用WMI管理网络 #### 关键知识点概览 - **WMI简介**:Windows Management Instrumentation(WMI)是一种内置在Windows操作系统中的技术,用于远程管理和监控Windows设备的状态。 - **命名空间的理解**:...
WMI技术的应用非常广泛,特别是在局域网中的远程计算机管理方面,例如实现远程计算机的重启和关机等功能。下面是一个简单的应用实例: **1. 程序设计和运行环境设置** - 操作系统:Windows 2000 Professional - ...
2. 在WMI测试工具窗口中,选择“连接”选项,然后在出现的对话框中填入目标计算机的名称(默认为本地计算机)和所需的凭据(如果需要连接到远程计算机)。 3. 点击“连接”按钮后,你会进入一个新的界面,在这里你...
在实际应用中,我们可以使用 System.Management 命名空间下的类来实现对远程计算机服务的控制和管理,并使用 WMI 来实现对远程计算机服务的监控和管理。这将极大地提高我们的工作效率和管理能力。
开发者可以利用WMI API编写应用程序,实现对远程计算机的监控和管理。 在C#中,我们通常会使用System.Management命名空间来访问WMI接口。以下是一个简单的示例,展示如何查询远程计算机上的进程信息: ```csharp ...
- 在计算机管理中,进入WMI Control的属性,选择安全选项,添加SplunkAdmin用户并赋予启用账户和远程启用权限。 - 在安全设置中选择This namespace and subnamespaces。 4. 赋予服务器B上的DCOM权限: - 在本地...
首先,要实现远程计算机的重启功能,你需要理解Windows操作系统提供的远程管理接口,如Windows Management Instrumentation (WMI)。WMI是Windows系统中的一个核心组件,它允许开发者通过标准的脚本和编程语言访问和...
1. **连接到WMI服务**:在代码中,你需要使用`wbemscripting.SWbemLocator`对象来连接到本地或远程计算机的WMI服务。例如,以下VBScript代码展示了如何连接到本地计算机的WMI服务: ```vbscript Set wmiService = ...
WMI是微软提供的一种标准的管理架构,它基于WBEM(Web-Based Enterprise Management)标准,可以访问和控制本地或远程计算机的管理系统资源。通过WMI,我们可以获取关于系统硬件、软件、网络等多方面的信息,包括...
在IT领域,Windows Management Instrumentation(WMI)是微软提供的一种管理系统资源的接口,它允许开发者获取和控制本地或远程Windows系统的各种信息。本篇文章将深入探讨如何利用WMI技术来获取计算机信息,包括CPU...
同时,也可以利用WMI查询远程计算机的处理器信息,只需更改`GetObject`或`ManagementObjectSearcher`的连接字符串即可。 总之,WMI提供了一种方便、统一的方式来获取和管理Windows系统中的各种信息,对于开发者和...