Articles of WMI

通过UserName / UseGroup在GPO中筛选WMI

我们需要将某些用户locking在我们的terminal服务器上的一个非常严格的桌面上,并且只为他们提供一个可以自动启动的应用程序。 我有针对每个需求的GPO设置,但无法弄清楚如何仅将这些GPO应用于我们需要强制实施的特定用户。 WMIfilter是我的第一个猜测,没有潜入组策略环回(这可能会导致我们目前的AD结构和相关的GPO问题)。 我的问题是编写WQL语句来满足我的需求。 我试过[SELECT * FROM W32.ComputerSystem WHERE UserName ='domain \ username'],但是这个查询总是提供一个错误的返回值。 我的猜测是因为terminal服务器环境,但我不积极。 稍微看了一下W32.TSAccount类,但没有看到任何有用的东西。 任何人有想法或文学,你可以参考我,所以我可以进一步深入这一点? 任何帮助将非常赞赏,因为我没有AD / GPO的专家。

CMD – 重命名本地计算机,join域,join特定的OU

好吧,所以不知道这是完全可能的。 情况:全新的电脑不在域上,只是一个本地工作组。 想要更改该计算机名称,join一个域,并将计算机名称放在该域的特定工作组中。 这一切都可以通过所有的graphics用户界面一次完成,所以应该通过命令行假设是可能的吗? 我可以使用以下方法重命名本地计算机:CMD> WMIC COMPUTERSYSTEM where "Name='%computername%'" CALL Rename NEWNAME, Password, User 这工作,但它需要重新启动的变化发生。 接下来,我做了一个batch file,它可以很好地使用NETDOM来做我想做的事情,但是直到计算机由于名称更改而重新启动时才能使用该文件。 SET /P compname=[promptString] SET /P org=[promptString] NETDOM JOIN %compname% /Domain:DOMAIN.NET /OU:%org%,DC=DOMAIN,DC=net /UserD:DOMAIN\user /PasswordD:password /Reboot:15 /verbose PAUSE 所以我想我的问题是…有没有办法以一种方式做到这一点,而不必重新启动? 如果重启是绝对需要的,则耗费太多的时间; 我想使用Windows GUI来完成这个工作的唯一原因就是把它放在我想要的OU中,而不需要预先准备或进入AD并移动计算机。

PowerShell或WMI来拉打印机属性和额外的驱动程序?

我正在努力实现的是: 使用powershell脚本(WMI或cmdlet直接或组合)查询具有PrintServerangular色的2003或2008服务器,枚举共享的打印机,然后列出该打印机使用的驱动程序,特别是如果x86或x64驱动程序正在使用使用(或两者)。 我看过Win32_Printer , Win32_PrinterDriver , Get-Printer等。这些似乎都不能告诉我有关x64驱动程序或加载多个特定于平台的驱动程序时。 就像是: gwmi win32_printer -computername lebowski | %{$name = $_.name $supported = $_.getrelated('Win32_PrinterDriver') | select supportedplatform, driverpath, version Write-Host $name return $supported } 产生以下内容: PCLOADLETTER supportedplatform : Windows NT x86 driverpath : C:\WINDOWS\system32\spool\DRIVERS\W32X86\3\RIC54Dc.DLL version : 3 然而,问题是特定的打印机也加载了x64驱动程序。 我真的不想手动检查100个打印机的属性选项卡,只是为了看看他们是否加载了x64驱动程序。

事件日志中每个启动WMI错误:EventID 5605

我有几个服务器,我不断得到EventID错误5605 root \ cimv2 \ TerminalServices命名空间标有RequiresEncryption标志。 如果脚本或应用程序没有适当的身份validation级别,则可能会拒绝对此名称空间的访问。 将身份validation级别更改为Pkt_Privacy,然后再次运行脚本或应用程序。 问题是我不知道这个脚本是从哪里运行的,所以我不能更新脚本来解决问题,就像我在事件5605上find的每一个其他post。我检查了启动脚本的GPO,我检查了我的所有域的SYSVOL共享为VBScript或Powershell脚本。 我无法在任何地方find这个脚本。 我怎样才能跟踪这个脚本,并修复它,所以它不会抛出这个错误?

有没有办法通过Collectd来收集WMI或WBEM / CIM数据?

我有一个运行statsd,collectd和Graphite的Ubuntu服务器。 我期待通过WMI从Windows服务器收集数据。 我没有在Collectd的网站上看到WMI或WBEM / CIM的官方插件。 是否有第三方插件可用,或者某种翻译层可以放置到位?

Windows服务器2012,缺lessWMI ASPNET计数器

我一直在使用下面的WMI查询来检查我的Windows 2008 Web服务器上当前有多lessIIS站点正在运行: SELECT ApplicationsRunning FROM Win32_PerfRawData_ASPNET4030319_ASPNETv4030319 使用2012等效replace这些Web服务器后,即使我的网站运行ASP.Net 4,此查询始终返回0。 有谁知道为什么会发生这种情况,以及如何解决这个问题?

WMI:Win32_PerfRawData_Counters_ProcessorInformation与Win32_PerfRawData_PerfOS_Processor

伙计们,我正在使用WMI来监视“PercentProcessorTime”,“Timestamp_Sys100NS”(总处理器时间)等内容。 我遇到的问题是,我发现Windows Server 2008 R2有以下两个WMI类:Win32_PerfRawData_PerfOS_Processor和Win32_PerfRawData_Counters_ProcessorInformation 任何人都知道两者之间的区别? 我应该注意,Win32_PerfRawData_Counters_ProcessorInformation在Windows Server 2003或2008中不可用,它只在2008 R2上可用。 我做了一些testing,似乎两者提供了基本相同的信息。

我可以通过WMI或PowershellfindDCOM应用程序可执行文件的path吗?

我已经在W2K8R2机器上安装(并注册了)DCOM应用程序,其GUID可以在dcomcnfg显示的DCOM列表中find。 我也可以使用Powershell为其GUIDfind一个Win32_DCOMApplication或Win32_DCOMApplicationSetting对象: PS C:\Windows\system32> Get-WMIObject Win32_DCOMApplicationSetting -Filter "AppID='{1CECFD4D-2CFB-4626-95C7-0266C26960FA }'" __GENUS : 2 __CLASS : Win32_DCOMApplicationSetting __SUPERCLASS : Win32_COMSetting __DYNASTY : CIM_Setting __RELPATH : Win32_DCOMApplicationSetting.AppID="{1CECFD4D-2CFB-4626-95C7-0266C26960FA}" __PROPERTY_COUNT : 12 __DERIVATION : {Win32_COMSetting, CIM_Setting} __SERVER : MYSRV __NAMESPACE : root\cimv2 __PATH : \\MYSRV\root\cimv2:Win32_DCOMApplicationSetting.AppID="{1CECFD4D-2CFB-4626-95C7-0266C269 60FA}" AppID : {1CECFD4D-2CFB-4626-95C7-0266C26960FA} AuthenticationLevel : Caption : CustomSurrogate : Description : EnableAtStorageActivation : False […]

如何从其perfmon计数器名称中计算WMI类名称

所以我已经提供了一堆性能计数器,它们位于特定的性能对象内(即,这些不是Windows附带的默认性能计数器之一),而且由于我需要在远程计算机上访问这些统计信息,使用WMI来实现这一点。 然而,我不能确定这个特定的性能对象与哪个WMI类相关(我已经查看了Win32_PerfRawData_*类的列表,但是没有任何东西看起来像至less与名称相关的性能对象)。 我的问题: 性能计数器是否存在,而没有支持WMI类? 如何计算出我需要查询哪个WMI类来获取我需要的perf数据?

使用WMI在Citrix服务器上远程安装msi

好的,我是一个C#程序员,正在试图简化自定义Windows窗体应用程序的部署,我inheritance了它,并为WiX构build了一个安装程序(这个应用程序需要定期重新安装,因为我正在对其进行更改)。 我并不习惯pipe理types的东西(或vbs,或WMI,或terminal服务器,或思杰,甚至WiX和MSI不是我通常处理的东西),但到目前为止,我把一些vbs,并有一个最终目标心里。 msi工作,我已经从我的开发机器上映射的O:驱动器安装它,而RDP到一个Citrix机器。 最终目标:部署在我的开发机器上编写的代码,并将其编译到MSI(我可以在WiX范围内以及Windows安装程序引擎允许的范围内进行改进)到我的用户可以访问的Citrix机器群集。 我的脚本中缺lessMSI在远程计算机上执行的操作? 布局: 机器A是我的开发机器,具有vbs脚本和msi文件(XP SP3) 机器C1 – C6是Citrix服务器,需要应用程序通过msi(Server 2003 R2 SP2)安装它们, 还有一个可选的共享networking资源,所有机器都可以访问。 脚本: 'Set WMI Constants Const wbemImpersonationLevelImpersonate = 3 Const wbemAuthenticationLevelPktPrivacy = 6 'Set whether this is installing to the debug Citrix Servers Const isDebug = true 'Set MSI location 'Network location yields error 1619 (This installation package could not be […]