Articles of WMI

确定用户使用PowerShell访问共享文件夹

我需要使用PowerShell脚本(v 1.0)确定访问Windows XP(SP2)计算机上共享文件夹的用户/会话。 这是使用“计算机pipe理”显示的信息 系统工具| 共享文件夹| 会话。 任何人都可以给我指点如何去做这个? 我猜这将需要一个WMI查询,但我最初的在线search没有透露什么查询的细节。 谢谢,MagicAndi

远程设置WMI权限

我开发了一个工具,通过WMI从远程Windows Server 2003服务器上简单检索已注册的服务和安装的应用程序。 我的问题是,该工具需要由不是这些服务器的pipe理员的用户临时运行。 我已经创build了一个域用户(该工具将用于运行查询),我想在每台服务器上授予远程WMI权限,但是如果有大约200台服务器,我不能手动执行。 有没有办法通过WMI授予对该域用户的访问权限,或者通过SMS或组策略分发registry更改?

Win32_Product的WMI查询在W2K8 +应用程序事件日志中创build事件

在Windows Server 2008和Windows Server 2008 R2上,使用WMI查询已安装的软件,并将Win32_Product类事件写入到应用程序事件日志中。 这些事件纯粹是信息性的,但是每一个确定的软件都会产生一个事件。 有什么困扰我的是描述包含“Windows安装程序重新configuration产品。产品名称:…” 为什么查询会触发产品已重新configuration的通知? 我们有针对服务器运行的脚本来寻找更改,这就造成了一些问题 。 🙁 有没有人看过这个?

Microsoft Security Essentials上次定义更新的时间戳

有什么办法通过VBScript或Powershell来检查吗? 我简要介绍了一下SecurityCenter和SecurityCenter2 WMI类,但是它们都不是特别有用。 看来最简单的方法就是确定WMI中productState的值通过后者获得一些消息,这意味着AV认为它是可以的。 任何其他的想法?

Windows ADSI,WMI和registry。 他们如何相互关联?

我有一个工作任务,涉及build立Windows XP机器。 我通常不是Windows用户,所以我问这个问题。 设置其中一台机器涉及的任务涉及设置networking地址,用户和特定的“组策略”,目前我为每台机器手动执行此操作。 当然,我想脚本所有这些步骤,所以我开始阅读registry和Windows脚本。 我提到了网上的各种文章和两本书: 微软Windows脚本自助式学习指南 Windowsregistry指南 在所有这些信息来源之间,在我看来,微软“技术”的“大杂烩”要么是完成某项具体任务的重复手段,要么是唯一实现的,但是文件混淆不清。 我理解它的简单方法是,registry是计算机上所有信息/数据的容器,而WMI和ADSI提供读取或修改它的手段。 它是否正确? 如果是这样,ADSI如何与WMI相关联,反之亦然? 我甚至可以通过直接用.vbs脚本直接操作registry来实现我想要的function,比如改变networking适配器的IP地址。 有没有必要使用ADSI?

查找上次运行碎片整理WMI或registry项

我试图发现是否有我们的服务器上运行碎片整理。 为了保存我自己去每一个加载碎片整理程序,并检查“最后一次运行”列,我想WMI可能有这个信息。 我一直在检查Win32_Volume类,可以看到这可以用来启动磁盘碎片整理和运行分析。 我无法find的是上次完成的任何提及。 我宁愿只是拉一个对象,而不是每次运行一个分析。 有没有办法通过WMI或注册码find这些信息?

我怎样才能最好地学习Windows WMI命令行工具“wmic”?

我有兴趣学习如何使用WMIC,但是我对从哪里开始感到困惑。 这个工具与PowerShell相比如何? Powershell能做WMIC能做的所有事情吗?还有更多?

将vbscript中的WMI转换为PowerShell

我试图按照使用WMI访问IIS 6的指南,但是我无法解决如何翻译SWbemServices的Get方法 ,因为Get-WmiObject似乎没有使用相同的path语法( 描述WMI对象 )。 我正在关注的示例位于连接到WMI Provider : ' Method 1 set locatorObj = CreateObject("WbemScripting.SWbemLocator") set providerObj = locatorObj.ConnectServer("MyMachine", "root/MicrosoftIISv2") set nodeObj = providerObj.Get("IIsWebVirtualDir='W3SVC/1/Root'") ' Method 2 set providerObj = GetObject("winmgmts://MyMachine/root/MicrosoftIISv2") set nodeObj = providerObj.get("IIsWebVirtualDir='W3SVC/1/ROOT'") ' Method 3 set nodeObj = GetObject("winmgmts://MyMachine/root/MicrosoftIISv2:IIsWebVirtualDir='W3SVC/1/ROOT'")

如何使用WMI将两个IP地址(一个DHCP,一个静态)分配给NIC?

发现问题和很好的答案: WMI和添加多个IP地址? 但是这只解释了如何添加多个静态IP地址。 我正在寻找如何在同一个网卡上configurationdynamic(DHCP)和至less一个静态IP地址。 但只能设法让一个或另一个工作。 我正在寻找WinXP,Vista和Win7的WMI解决scheme。

BGInfo和WMIfilter

我已经通过GPO应用login脚本来运行BGInfo。 据我了解,因为我设置用户configurationGPO必须应用于用户OU。 我们有一个称为SERVERS的OU,这是我们希望此GPO运行的唯一OU,但是当我将GPO链接到SERVERS OU而不是USERS OU时,GPO未应用。 因为GPO因此与USERS OU连接,所以它运行在我们公司的每台PC /服务器上 – 这不是我们想要的。 如果我的结论到目前为止是正确的,我推测,我可以阻止GPO运行在除SERVERS之外的任何OU的唯一方法是通过WMIfilter,但是我似乎无法创build一个filter,因为我无法访问variables如%computername%。 我原以为我想要一个查询,如: gwmi -namespace root\directory\LDAP -query "select * from ds_computer where DS_cn = %computername% AND ds_distinguishedName like '%ou=servers%'" 这相当于说“SELECT * FROM ds_Computer where DS_cn = [当前计算机正在被login到]和ds_distinguishedName如'%ou = servers%'” 但是这当然不会评估。 我在这里的正确轨道? 还是有更好的解决scheme? 任何build议不胜感激。 非常感谢dotdev