如何在Windows下检测CLI中的当前媒体types? (DVD-RW,BD-R等) 我已经尝试使用wmic cdrom get / format:list,但没有关于当前媒体types的信息。 我想检测光盘是CD,DVD,BD,RW,DL等。在计算机下的Windows GUI中,我们可以根据显示的光驱图标来查看信息。 此外,我找不到“可用性”和“能力”值的含义,如果您知道某个文档在谈论它,那就太好了。 C:\>wmic cdrom get /format:lis Availability=3 Capabilities={3,4,7} CapabilityDescriptions={"Random Access"," Supports writing"," Supports Removable Media"} Caption=HL-DT-ST BD-RE BH12LS35 CompressionMethod=Unknown ConfigManagerErrorCode=0 ConfigManagerUserConfig=FALSE CreationClassName=Win32_CDROMDrive DefaultBlockSize= Description=CD-ROM Drive DeviceID=SCSI\CDROM&VEN_HL-DT-ST&PROD_BD-RE__BH12LS35\4&15828421& ;0&050000 Drive=G: DriveIntegrity=TRUE ErrorCleared= ErrorDescription= ErrorMethodology= FileSystemFlags= FileSystemFlagsEx=21757959 Id=G: InstallDate= LastErrorCode= Manufacturer=(Standard CD-ROM drives) MaxBlockSize= MaximumComponentLength=254 MaxMediaSize= MediaLoaded=TRUE MediaType=DVD Writer MfrAssignedRevisionLevel=1.00 […]
我有一个挑战,我想用GPO来设置一个电源计划。 在构buildWMIfilter(使用WQL)的过程中,遇到了一个问题:确定一组WQL语句,这些语句总是会在桌面/服务器上返回true ,在笔记本电脑/笔记本电脑上返回false 。 我开始testing使用win32_systemenclosure属性win32_systemenclosure ,但很快发现win32_systemenclosure是一个int array ,它不能在(标准)WQL中使用[虽然它在SCCM WQL扩展集中可用]。 接下来,我find了使用win32_battery引用,并检查Status属性的非零值; 但我很快意识到,这将在通过USB连接UPS的台式机和服务器上返回一个价值。 由于以上都不会总是(+ / – 容忍N)返回到桌面/服务器的true ,而笔记本电脑/笔记本电脑是false的,我find了win32_portablebattery类。 兴奋起来,我开始testing,很快发现win32_portablebattery在桌面或服务器上执行时win32_portablebattery返回任何内容。 通过“没有”我不是指{empty string}/"" ,我不是指NULL ,我不是指false ,我的意思是什么都没有。 我甚至试图检查__CLASS = ""和__CLASS IS NULL并且桌面和服务器仍然返回false 。 有谁知道任何进一步的WQL fu试图获得true结果使用win32_portablebattery ?
cop1152在回答这个问题时说,他喜欢WMI脚本。 那么,我也是! 你最喜欢的,最好的,最有用的脚本是什么,你想与社区分享? 谢谢。
有没有办法以比使用dfsrdiag.exe backlog更有效的方式来监控DFSR dfsrdiag.exe backlog ? 我用五分钟的时间间隔通过dfsrdiag.exe backlog /smem:alpha /rmem:beta /rgname:domain\namespace\foldername /rfname:foldername编写了一个程序。 每次运行,需要相当长的时间(2到5分钟)才能得到结果值。 这意味着最后,它运行几分钟来收集信息,然后延迟五分钟。 感觉就像为了得到这个信息,这可能是昂贵的。 它还返回积压中的前100个文件。 我真的只想要积压计数,不关心文件本身。 这被用来创build历史图表。 这些DFSR对等体的信息:四台服务器上的Windows 2008 R2,通过50-100Mb Internet连接连接的三个远程办公室,30个复制组,几个复制组在文件总大小(每个1-2TB)上都非常大,尽pipe大多数都很小(500MB -10GB)。
我想从WMI命名空间的顶部开始,recursion遍历所有对象,然后recursion遍历每个对象的属性列表,过滤掉并返回仅控制名称中包含mem的属性。 这是我迄今为止: gwmi -namespace "root\cimv2" -list |???? |get-Member -MemberType property | Where-Object { $_.name -match 'mem'} 注意大| 在那里的中间。 如果我删除,命令似乎运行,但未能find我知道应该find的属性。 为什么? 我认为这是因为我从以下两个命令得到不同的输出: 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) 我想要的是recursion地连接这个过程的单线程: gwmi -namespace "root\cimv2" -list (manual selection of […]
我正在Windows 7信息亭上configuration本地应用程序用户(BUILTIN \ Users的一部分)。 该自助服务terminal具有在虚拟COM端口上运行的特殊USB设备 。 用户需要读取root\WMI命名空间中的WMI类MSSerial_PortName的root\WMI才能findCOM端口。 在PowerShell(我用来validationconfiguration) PS> Get-WmiObject -namespace 'root\WMI' -class 'MSSerial_PortName' 并通过常规的.NET代码(这是如何编写应用程序) ManagementObjectSearcher searcher = new ManagementObjectSearcher("root\\WMI", "SELECT * FROM MSSerial_PortName"); 我得到“访问被拒绝”的错误,除非以pipe理员身份或提升的会话运行。 我已经阅读了大量关于类似访问问题的问答 ,但大多数似乎build议以pipe理员身份运行。 这不是这个用户/信息亭/configuration的选项。 而且,目前,我无法使用设备供应商的托pipe包装 。 我在Microsoftpipe理控制台中玩过,加载WMI控制,并修改了属性| 安全| 命名空间:Root \ WMI。 我将Users组设置为具有与Administrators组相同的权限。 但是这不起作用(我只是猜测)。 在MSSerial_PortName MSSerial “基本”类或名称空间中的其他相关类(如本文build议)中找不到任何MSDN文档。 而且我对WMI安全性还不了解。
我在64位Web服务器上执行一个监视任务,该服务器有32位模式的应用程序池。 我正在使用perfmon中的.Net CLR Memory对象来监视它们。 但是,除了GC句柄和正在使用的接收块数量之外,我的性能监视器显示为0。 其余的应用程序池工作正常。 在另一台configuration相同的服务器(在64位IIS上运行的32位应用程序池)上,WMI甚至不会枚举所有的w3wp实例。 有没有人对这些问题有任何想法? 还是有工具,可以监视在64位平台上运行的32位应用程序池,而不是使用内置的性能监视器? 另外,在WMI不枚举所有w3wp实例的服务器上,我们在事件日志中有以下三条错误消息。 “ASP”服务的性能库“C:\ WINDOWS \ system32 \ aspperf.dll”的configuration信息与存储在registry中的可信性能库信息不匹配。 这个库中的函数不会被视为可信。 (事件ID 2003,来源Perflib) “W3SVC”服务的性能库“C:\ WINDOWS \ system32 \ inetsrv \ w3ctrs.dll”的configuration信息与存储在registry中的可信性能库信息不匹配。 这个库中的函数不会被视为可信(Event ID 2003,Source Perflib) “InetInfo”服务的性能库“C:\ WINDOWS \ system32 \ infoctrs.dll”的configuration信息与存储在registry中的受信任的性能库信息不匹配。 这个库中的函数不会被视为可信(Event ID 2003,Source Perflib) 由于该服务的性能计数器库生成一个或多个错误,因此已禁用来自“ASP.NET_2.0.50727”服务的性能计数器数据收集。 强制执行此操作的错误已写入应用程序事件日志(事件ID 1018,源Perflib) 这些错误可能与我的问题有关。 即使重新注册wbem目录中的所有.dll文件,它仍然会出现。 有谁知道这些错误消息是什么意思,我该如何解决它们? 另外,对于.Net CLR Memory对象中值为0的第一台服务器,事件日志中没有错误消息。
我需要使用WMI IIS6 API远程pipe理我的IIS7(Windows Server 2008)。 所以我添加了IIS6 WMI兼容性和IIS6元数据库兼容性angular色来访问root \ MicrosoftIIsv2命名空间。 我有一个远程计算机上不是pipe理员的域帐户; 有了这个权利,一切都好。 我为我的域帐户configuration了这些权限,以便远程访问root\MicrosoftIIsv2 WMI名称空间; 请注意这些权限在IIS6和Windows Server 2003上完美工作 : DCOM: 分布式COM用户帐户>远程和本地访问DCOM WMI: Root \ CIMV2 (我也需要访问)>执行方法,启用帐户,远程启用 Root \ Default (我也需要访问)>执行方法,启用帐户,远程启用 Root \ MicrosoftIISv2 >执行方法,启用帐户,提供程序写入,远程启用 IIS元数据库(Metabase Explorer): LM>完全控制( W3SVCinheritance这些权限) 我试图给C:\ Windows \ System32 \ inetsrv一些访问; 不知道是否需要。 我的问题是: 我无法列出IIS WebSites(\ root \ MicrosoftIISv2:IIsWebServerSetting.Name =“W3SVC / *”)。 我没有得到“访问被拒绝”,但没有任何返回。 我的API和PowerShelltesting可以连接并执行根\ MicrosoftIISv2命名空间中的查询 […]
我已经实现了一个小工具,允许通过WMI覆盖值来更改所选networking接口(NIC)的IP设置。 我注意到,只有以“以pipe理员身份运行”选项启动,该工具才能更改设置。 我应该授予用户哪个WMI权限,以便可以在没有提升特权的情况下编写更改后的值?
似乎这应该很容易,但我没有find任何有关如何通过WMI,Powershell或其他方法远程识别Windows Server“核心”安装的信息,这些方法可以相对较快地查询大量计算机。 我试图报告运行核心的服务器与完整安装的比例。 有任何想法吗?