标签: wmi

读取 WMI 类“MSSerial_PortName”的最低权限是多少?

我正在 Windows 7 信息亭上配置本地应用程序用户(BUILTIN\Users 的一部分)。自助服务终端有一个在虚拟 COM 端口上运行的特殊USB 设备。用户需要权限读取WMI类,MSSerial_PortNameroot\WMI命名空间中,找到了COM端口。在 PowerShell 中(我用它来验证配置)

PS> Get-WmiObject -namespace 'root\WMI' -class 'MSSerial_PortName'
Run Code Online (Sandbox Code Playgroud)

并通过常规的 .NET 代码(这就是应用程序的编写方式)

ManagementObjectSearcher searcher = new ManagementObjectSearcher("root\\WMI", "SELECT * FROM MSSerial_PortName");
Run Code Online (Sandbox Code Playgroud)

除非以管理员身份或提升的会话身份运行,否则我会收到“访问被拒绝”错误。我已经阅读了大量有关类似访问问题的问答,但大多数人似乎建议以管理员身份运行。这不是此用户/信息亭/配置的选项。而且,目前,我无法使用设备供应商提供的托管包装器

我在 Microsoft 管理控制台中运行,加载 WMI 控件,并修改了属性 | 安全 | 命名空间:根\WMI。我将用户组设置为与管理员组具有相同的权限。但这不起作用(我只是猜测)。

我找不到任何的MSDN文档MSSerial_PortNameMSSerial命名空间“基地”类或其他相关的类(这所建议的文章)。而且我对 WMI 安全性一无所知。

windows serial wmi

7
推荐指数
1
解决办法
2253
查看次数

如何仅将组策略应用于特定 IP 范围内的客户端?(使用 WMI 过滤器)

我只需要将 GPO 应用于特定网络范围内的某些计算机。

我知道这个问题还有很多其他的解决方案。我可以将它们分组到一个 OU 中或使用站点。但是目前的情况不允许我以任何其他方式进行操作,除非确定客户端的 IP 地址是否在特定网络中。

因此,我假设我可以使用 WMI 过滤器,并向我的好朋友 Google 寻求帮助:我找到了http://waynes-world-it.blogspot.ch/2008/03/wmi-filter-for-subnet-filtered-group .html但是

Select * FROM Win32_IP4RouteTable
WHERE ((Mask='255.255.255.255' AND NextHop='127.0.0.1')
AND (Destination Like '10.31.%'))
Run Code Online (Sandbox Code Playgroud)

似乎不起作用。由于过滤器,该策略不适用于任何计算机。谁能给我提示如何解决这个问题?

非常感谢

windows active-directory group-policy wmi

7
推荐指数
1
解决办法
2万
查看次数

没有 WMI 的 GPO 软件部署?

我整理了一个 GPO 以将 MSI 文件部署到由计算机对象组成的安全组。在重新启动测试工作站以获取其组成员身份并运行 gpupdate 后,我然后运行 ​​gpresult /r 并且我看到它正在获取用于软件安装的 GPO。重新启动后,软件不会安装。我们的防病毒软件 (SEP Cloud) 阻止了所有工作站的 WMI,我怀疑这就是问题所在。有谁知道组策略是否需要 WMI 来部署软件?如果是这样,我将编写一个 VBS 脚本来执行此操作。

group-policy wmi

7
推荐指数
1
解决办法
327
查看次数

什么 wmi 计数器可以指示端口耗尽

我目前正在调查一个问题,我们怀疑过多的传出连接导致端口耗尽是一个因素。我希望能够确定服务器何时处于或接近端口耗尽,并且似乎应该有一些 wmi 计数器来指示这一点,尽管我不知道是哪个

提前致谢。

networking windows wmi

7
推荐指数
1
解决办法
4711
查看次数

如何使用 WMIC 连接到远程机器并将操作系统信息输出到文件?

我想知道如何使用 WMIC 连接到远程主机并将其 PC 的操作系统信息(已安装程序列表)输出到文件。

我试过

wmic /node: <IP address> OS get vendor, name > c:\output.txt
Run Code Online (Sandbox Code Playgroud)

但我有错误 "Node - <IP> Error: Description = Invalid query"

但实际上,我认为我需要成为域管理员才能获得许可。所以我试过了

wmic /node: <IP> /domain: <domain.inc> /user:administrator /password:<password> OS get vendor, name > c:\output.txt
Run Code Online (Sandbox Code Playgroud)

我有错误: Invalid Global switch.

我想通过使用 WMIC 获取所有 PC 的操作系统信息(已安装的程序列表)。(我认为我需要与域管理员一起访问,因为所有 PC 都加入了域)并且我是管理员

请帮我 ?____?啊,当我只用我的电脑尝试时似乎没问题。

WMIC /output:C:\%computername%.txt product get name, vendor, version
Run Code Online (Sandbox Code Playgroud)

WMIC OS 获取名称、供应商、版本 >> C:\%computername%.txt

如果我像上面那样,就可以获取 txt 文件。但我想远程所有PC并获取信息文件...@_@~~~~

还有一个问题>>它与安全策略或组策略有关吗?或防火墙的东西..........@_@;;

wmi query

7
推荐指数
1
解决办法
12万
查看次数

Powershell 递归 WMI 查询

我想从 WMI 命名空间的顶部开始,递归遍历所有对象,然后递归遍历每个对象的属性列表,过滤掉那些名称中包含mem 的属性并将其返回到控制台。

这是我到目前为止:

gwmi -namespace "root\cimv2" -list |???? |get-Member -MemberType property | Where-Object { $_.name -match 'mem'}
Run Code Online (Sandbox Code Playgroud)

注意大|???? 在中间那里。如果我删除它,该命令似乎可以运行,但无法找到我知道应该找到的属性。为什么?我认为这是因为我从以下两个命令中得到了不同的输出:

gwmi "Win32_operatingSystem"  |get-Member -MemberType property (73 lines of output)
gwmi -namespace "root\cimv2" -list  |where-object { $_.Name -eq 'Win32_OperatingSystem' } |get-Member -MemberType property (10 lines of output)
Run Code Online (Sandbox Code Playgroud)

我想要的是递归连接这个过程的单行:

gwmi -namespace "root\cimv2" -list
(manual selection of a WMI class from the list of 1000+ which appear) 
gwmi "win32_OperatingSystem" | get-Member -MemberType property | Where-Object { …
Run Code Online (Sandbox Code Playgroud)

scripting powershell wmi

6
推荐指数
1
解决办法
2606
查看次数

有没有办法使用 GroupPolicy 设置对 WMI 的访问?

从各种文档看来,要更改 WMI 访问权限,您需要使用 WMI 来访问正在运行的服务并修改树的特定部分。

使用 UI 更改 150,000 台主机有点烦人。
然后必须在添加新主机的过程中包含此类更改。

可以编写一个脚本来做同样的事情,但这需要要么连接到所有这些机器,要么在启动/安装脚本中分发以供以后更新。然后你必须从示例访问控制中复制二进制 SD 数据。

我还发现您可以更改 wbem/*.mof 文件以包含 SDDL,但我目前对这一切如何工作真的很模糊。

我是否只是错过了一些简单的管理?

windows permissions group-policy dcom wmi

6
推荐指数
1
解决办法
3万
查看次数

识别/指纹 Windows Server 核心安装与完整安装

看起来这应该很容易,但我没有找到任何关于如何通过 WMI、Powershell 或其他可以相对快速地查询大量机器的方法远程识别 Windows Server“核心”安装的信息。我试图报告我们运行核心与完整安装的服务器的百分比。有任何想法吗?

windows powershell windows-server-2008 wmi windows-server-2008-r2

6
推荐指数
2
解决办法
561
查看次数

在监控 64 位 IIS 上运行的 32 位应用程序池时遇到问题

我正在我的 64 位 Web 服务器上执行监控任务,该服务器有几个以 32 位模式运行的应用程序池。我在 perfmon 中使用 .Net CLR Memory 对象来监视它们。但是,我的性能监视器显示 0,除了 GC 句柄和正在使用的接收器块数之外的所有内容。其余的应用程序池工作正常。在以完全相同的方式配置的另一台服务器(在 64 位 IIS 上运行的 32 位应用程序池)上,WMI 甚至不会枚举我的所有 w3wp 实例。

有没有人对这些问题有任何想法?或者是否有工具可以监控在 64 位平台上运行的 32 位应用程序池,而不是使用内置的性能监控器?

另外,在 WMI 没有枚举所有 w3wp 实例的服务器上,我们在事件日志中有以下三个错误消息。

  1. “ASP”服务的性能库“C:\WINDOWS\system32\aspperf.dll”的配置信息与存储在注册表中的可信性能库信息不匹配。该库中的函数不会被视为受信任的。(事件 ID 2003,源 Perflib)

  2. “W3SVC”服务的性能库“C:\WINDOWS\system32\inetsrv\w3ctrs.dll”的配置信息与存储在注册表中的可信性能库信息不匹配。此库中的函数不会被视为受信任的。(事件 ID 2003,源 Perflib)

  3. “InetInfo”服务的性能库“C:\WINDOWS\system32\infoctrs.dll”的配置信息与存储在注册表中的可信性能库信息不匹配。此库中的函数不会被视为受信任的。(事件 ID 2003,源 Perflib)

  4. 由于“ASP.NET_2.0.50727”服务的性能计数器库为该服务生成了一个或多个错误,因此该会话已禁用该服务的性能计数器数据收集。强制执行此操作的错误已写入应用程序事件日志。(事件 ID 1018,源 Perflib)

这些错误可能与我的问题有关。即使我在 wbem 目录中重新注册所有 .dll 文件,它仍然出现。有谁知道这些错误消息的含义以及如何修复它们?

另外对于.Net CLR Memory 对象中第一个值为0 的服务器,事件日志中没有错误消息。

iis windows-server-2003 monitoring performance-monitoring wmi

6
推荐指数
1
解决办法
2999
查看次数

通过 WMI 关联卷和物理磁盘

我正在尝试将卷(从win32_volume那些 where 中枚举的DriveType = 3)关联回win32_physicaldisk实例。我在研究中看到的一切都表明答案是“这是不可能的”,但话说回来,我没有阅读整个互联网。:) 我目前正在从diskpart 中获取信息,但是我遇到了这种方法的局限性。

作为奖励,如果答案是“不,这就是原因”,那也很有用。

wmi windows-server-2012-r2

6
推荐指数
1
解决办法
2514
查看次数