Articles of WMI

WMI查询检查OSD的IP默认网关

我试图给命令行添加一个条件,只有满足条件才能运行。 我正在通过使用WMI查询来做到这一点; Select * From Win32_NetworkAdapterConfiguration Where DefaultIPGateway="192.168.1.1" 所以,如果这个部署的网关有192.168.1.1它应该运行一个命令添加一个registry设置,如果不符合条件,它会跳过它。 更多信息: 我已经有一个类似的命令来查询WMI的主机名信息。 如果主机名以XXX%开始(%为通配符),它将部署命令,否则将跳过它。 如果它的某个网关它应该运行命令 这已经是一个活的任务序列,我只是想添加这个条件有一个大的序列 任何帮助是受欢迎的。 谢谢

组策略中的某些客户端忽略WMI筛选器

应用的WMI筛选器对组策略被某些客户端忽略。 它可以在其他客户端上正常工作,返回正确的值,但在某些客户端上,它只是没有被应用,并且不会出现在组策略结果中。 组策略: 计算机设置:设置WSUSconfiguration 用户设置:[空] WMI筛选器: “select*从Win32_ComputerSystem其中标题= …” 组策略结果向导: 计算机configuration: 情况1:WMIfilter被某些客户端忽略,不过应用策略 案例2:正确应用WMIfilter,策略将仅适用于正确的客户端(因为它在wmifilter中定义) 用户configuration: 不pipeWMIfilter如何,都应用策略,但由于用户configuration为空,所以这没有问题 确定为什么某些客户忽略WMIfilter的最佳方法是什么? 编辑 Wmi已经过testing,可以在所有机器上工作。 似乎组策略dosn't在远程计算机上启动查询,而不是查询已启动,无法正常工作。

Dell PERC第11代或更高版本是否支持Windows CIM / WMI提供程序?

我有戴尔OpenManage服务器pipe理员 (版本7.4)的Windows安装在第12代服务器与PERC H710P。 该机器有一个root\cimv2\dell命名空间 ,似乎没有提及任何磁盘或磁盘控制器(尽pipe该命名空间包含其他有用的东西)。 这些是我在PERC的Windows CIM提供程序中find的最接近的东西: 戴尔支持的ESXi CIM提供商 讨论在Windows上使用LSI MegaCLI 戴尔KB在Windows上使用MegaCLI 。 然而,我还没有find任何提及PERC for Windows的戴尔支持的CIM提供商的信息。 omreport storage和omconfig storage似乎是戴尔支持的唯一脚本API。 Dell OMSA用户指南指出OMSA的输出是字符stream。 本指南提供了关于该stream内容的一些信息,但是没有规范来帮助可靠地parsing输出。 Dell PERC第11代或更高版本是否支持Windows CIM / WMI提供程序? 是否有一些其他支持的方法来pipe理或至less从Powershell查询PERC不涉及parsing未定义的string?

WMI问题 – 分页文件太小,无法完成此操作

我有一个Windows Server 2008 Standard SP1的问题,因此我失去了远程监控的能力。 经过调查,似乎是因为WMI存在问题。 在WMI控制属性中,它指出: Failed to initialize all required WMI classes. Win32_Processor: Win32: The paging file is too small for this operation to complete. 页面文件似乎很好2314M / 12404M。 我已经尝试重新启动WMI没有积极的结果。 search后,我发现这篇文章( http://support.microsoft.com/kb/981314 )表示有这个问题的修补程序,但试图安装它后,我得到这个错误: The update does not apply to your system. 我确信重新启动会解决问题(从我读过的),但这会引起我的问​​题,如果不正确地修复,可能会再次发生。 有没有人有类似的经验和/或任何build议来解决这个问题?

如何parsingbatch file中的WMIC输出并与数组进行比较?

我正在编写一个批处理脚本来从SCCM客户端中提取SCCM站点代码。 我想拉客户站点代码,并将其与网站代码数组进行比较。 如果有匹配,我会卸载客户端。 我有卸载部分。 这必须作为batch file来完成。 我可以通过以下WMIC命令获取站点代码 WMIC /namespace:\\root\ccm path sms_client CALL GetAssignedSite 这会产生以下输出 Executing (sms_client)->GetAssignedSite() Method execution successful. Out Parameters:[abstract] class __PARAMETERS { [out, ID(0): DisableOverride ToInstance] string sSiteCode = "BBB"; [out] uint32 ReturnValue; }; 如何提取和比较批处理脚本中的站点代码 – 本例中的“BBB”。 这里是我的Powershell作为例子,但这必须是一个batch file。 $SiteCode = ([wmiclass]'ROOT\ccm:SMS_Client').GetAssignedSite() $SCCMSiteCodes = @('AAA', 'BBB', 'CCC', 'GGG', 'VVV') If ($SCCMSiteCodes -Contains $SiteCode.sSiteCode) […]

WMI对象通过commandlet可用,但不通过Get-WmiObject

为什么我可以使用Get-CMBoundaryGroup WMI对象,但不能直接使用Get-WmiObject ? 当使用Get-WmiObject时,我得到Invalid namespace "root\sms\site_CAS" $boundaryGroup1 = Get-CMBoundaryGroup -Name 'BoundaryGroupName' $class = $boundaryGroup1.ManagedObject.__CLASS #SMS_BoundaryGroup $namespace = $boundaryGroup1.ManagedObject.__NAMESPACE #root\sms\site_CAS $boundaryGroup2 = Get-WmiObject -Class $class -Namespace $namespace #Invalid namespace "root\sms\site_CAS"

从WMI切换到安全筛选

目前,我们在200多个计算机对象之上链接了几个GPO,这些计算机对象通过WMI(查询操作系统)进行过滤。 似乎有某种竞争条件,因为这个GPO有时会得到应用,有时他们不会。 无论如何…我们可以追溯到WMI的不稳定性,为什么我想切换到基于AD组的安全过滤(ServerW2012,ServerW2008等)。 我的迁移path如下所示: 1)创buildAD组并相应地添加计算机对象 2)将AD组添加到各个GPO的ACL中,并删除“Authenticated Users” 3)删除WMIfilter GPO正在使用几个CSE,同步/asynchronous,Securits CSE等等。 我担心稳定性,因为如果这种变化出错,200多个电脑对象将受到影响。 这是一个可行的迁移path吗? 任何经验分享? 谢谢

调用wmic与本地用户从Linux框到Windows(NT_STATUS_ACCESS_DENIED)

这个问题已经以各种forms被提出,但没有任何解决scheme为我工作。 我试图从一个Linux机箱运行icinga和一个插件使用WMI查询。 这是失败的,所以我决定运行简单的wmic查询来find问题。 我使用以下查询: wmic -U locallogin%'localpass' //myserver.domain.net "select * from Win32_Bios" locallogin是本地pipe理员, localpass是密码。 不幸的是我得到以下错误: [wmi / wmic.c:196:main()]错误:login到远程对象。 NTSTATUS:NT_STATUS_ACCESS_DENIED – 访问被拒绝 但是,当我使用域login时,我得到了一个成功的响应。 所以我的理论是,这与networking设置无关,但是是一个用户凭证/权限问题,但我不知道在哪里看。 我应该注意到,我已经在我的域上的另一台机器上成功地使用了本地pipe理员帐户,但是我找不到本地用户与其他机器上的本地用户之间的任何差异。 我已经确认了防火墙设置等,我不认为是一个问题,因为我可以使用域名login。 我已经尝试通过wmimgmt.msc明确地将locallogin添加到WMI安全性中(即使本地pipe理员已经可以执行此操作)。 我已经进入DCOMCNFG – > Component Services – > Computers – > My Computer – > Properties – > COM安全下,并将用户添加到这两个部分。 我已经尝试过,但它没有工作,因为我可以运行我的查询与域名login我不认为这是问题。 我已经运行这两个(以防万一)从cmd提升的权限: netsh advfirewall firewall set rule group="remote desktop" new enable=Yes和winrm […]

WMI远程连接objsWbemLocator.ConnectServer

使用以下方法连接到远程计算机时遇到问题: 设置objWMIService = objSWbemLocator.ConnectServer _(sIP,“root \ CIMV2”,strUser,strPassword,“MS_409”,“ntlmdomain:”+ sDomain,128) 问题在于有些机器没有超时,进程挂起。 有没有办法取消连接,并继续下一个IP? 我正在使用VBScript。 谢谢,山姆

在Windows 7中通过WMI重命名计算机

我无法通过WMI重命名本地计算机。 我正在关注MSDN文档(而不是遵循它 – 试图获得某种结果),但我似乎无法使Win32_ComputerSystem.Rename()方法工作。 Set colComputers = objWMIService.ExecQuery("SELECT * FROM Win32_ComputerSystem") For Each objComputer in colComputers If StrComp(objComputer.Name, Left(objNewComputerName, 15), vbTextCompare) <> 0 Then errCode = objComputer.UnjoinDomainOrWorkgroup() If errCode <> 0 Then MsgBox "Error leaving domain/workgroup. Error: " & errCode End If errCode = objComputer.Rename(objNewComputerName) If errCode <> 0 Then MsgBox "Error changing computer name […]