Articles of WMI

如何使用wmi在特定组中find用户

我已经为远程服务器“RemoteServer”的pipe理员组添加了“SearchingUser”用户。 我试图validation用户是使用WMIC添加到服务器,这是命令: wmic /node:RemoteServer useraccount where "name='SearchingUser' and Domain='domainNameHere'" list 我相信用户被添加,但是查询结果是: “没有实例可用” 我怎样才能find用户是否通过WMI添加到指定的组 谢谢

我如何监视和绘制这个WMI / WQL数据?

我如何绘制这些数据? 寻找将这些数据放入图表/网页的非繁琐方法。 select writeiops from Win32_PerfFormattedData_ISEVirtualDisks_ISEVirtualDisks WHERE NAME = "trax2" select readiops from Win32_PerfFormattedData_ISEVirtualDisks_ISEVirtualDisks WHERE NAME = "trax2" select totaliops from Win32_PerfFormattedData_ISEVirtualDisks_ISEVirtualDisks WHERE NAME = "trax2"

调查域名成员的屏幕分辨率

有没有办法通过WMI或Powershell来询问每个域成员在桌面上的分辨率? 我需要知道,但不能去参观每一个。 对于奖励积分,如何总结结果并仅显示每个分辨率的唯一结果? 相反,也就是说 答:1920×1080 B:1920×1080 C:1200×800 它只会阅读 1920×1080 1200×800

哪个registry项对应于“作为服务login”?

我想能够以编程方式设置此值(最好通过WMI)。 它必须住在registry或其他位置。 是的,我知道如何通过MMC使用secpol.msc,但我需要自动化这一点。

如何显示PowerShellinput作为输出的一部分

我正在尝试获取我的域上的计算机select的操作系统版本。 我创build了一个PowerShell命令,但是输出中缺less计算机名称。 这是命令 Get-ADComputer -Filter {name -Like "test"} | select "name" | foreach {$_.name} {Get-WmiObject -Class Win32_OperatingSystem -ComputerName $_.name} | Select-Object Description, Caption,SevicePackMajorVersion | out-gridview 我试过添加addtionalselect对象,但它们都是空白的。 我想这是因为这个wmiobject根本不包含机器名称。 所以我的问题是,因为我用$_.namepipe道,它有可能也是输出的一部分。 我试过在select-object命令中使用($_.name)变体,但无济于事。

SCCM Server 2012 WMI查询缺less特定主机上的Microsoft修补程序

什么是适当的WMI查询,以向SCCM服务器提供SCCM服务器pipe理的特定主机上丢失的Microsoft补丁列表。 例如,假设我想检查在IP地址为192.168.10.100的Windows 8客户端上缺less哪些补丁。 我可以使用什么样的WMI查询来询问SCCM服务器那些主机尚未安装的修补程序?

从Samba(4)DC定向的GPO部署

我似乎被卡住了。 我主要来自POSIX的背景,在这一个背景下深入研究,所以我一直在学习 – 所以不知道是否没有解决scheme,或者如果是我自己的Dunning-Kruger在玩。 build立: (试图保留尽可能多的后端FLOSS,非FLOSS只能在那里无法逃脱) 运行一个CentOS(7)服务器 Samba(4)Active Directory域(Sernet repo) – 复制群集 W764-64和W10p-64testing虚拟机 W10p-64pipe理员虚拟机 N个Windows桌面在几个“部门” 到目前为止,这一切都看起来不错:根据文档得到基本的,稳定的设置,推出了一些基本的GPO到networking(例如创build%TEMP%,或类似的文件),所以可以确认基本的GPO创build和权限是好的。 gpupudate等人都很好。 我现在需要做的是更好地在部署整个组织之前,针对更小的桌面子集testingGPO的影响。 我可以收集什么(这是我的w32-知识的局限性集中在哪里),这是通过创build和应用WMIfilter来实现的。 从我所收集的信息看来,它似乎是一种非常漂亮的SQL或类似SQL的语法,创build这种语句的build议方式是使用WMI Explorer来浏览命名空间并构build所述定位查询。 (相当不错) 很明显,这个工具可以轮询localhost命名空间,但是当我尝试将它连接到DC时,我失败了,因为在Linux / POSIX框上没有WMI或RPC可言(这似乎很明显,但是尽量不要太多的假设)。 这使我处于一个不稳定的位置 – 我需要做一些看起来很正常的系统pipe理员工作,但是桑巴似乎并不支持WMI(而且维基似乎承担了这一点)哪个Windows似乎严重依赖和广泛使用的。 但是我仍然需要find一个好的/稳定的方法来采取更有针对性的细微方法来将控制部署到大量的主机上,并且假定/build议的资源远远不能达到这个标准。

GPO WMI筛选器不排除计算机

我有一个GPO修改用户和计算机configuration。 在此GPO上,基于主机名的WMI筛选器将排除某些计算机。 select Name from Win32_ComputerSystem where (Name <> "comp1-*") select Name from Win32_ComputerSystem where (Name <> "comp2-*") select Name from Win32_ComputerSystem where (Name <> "comp3-*") 每一行都是filter中的一个单独请求。 GPO链接到父OU,默认情况下,安全筛选留给“已通过身份validation的用户”。 我的GPO仍然应用于父级和子OU的所有计算机上。 有任何想法吗 ? 谢谢。

通过WinRM远程运行PowerShell脚本时获取Windows文件共享的本地path

我有一个Windows批处理脚本,将EXE或batch file复制到远程文件共享,并使用PowerShell WinRM在远程服务器上运行它。 远程运行该命令的行如下所示: ECHO Invoke-Command -Authentication CredSSP -Credential %USERDOMAIN%\%USERNAME% -ComputerName %SERVER_NAME% -ScriptBlock { cd (gwmi Win32_Share -Filter "name='%SHARE_NAME%'").Path ; .\%MY_EXE_TO_RUN% } |PowerShell.exe -Command – 我需要将当前目录更改为要运行的EXE /batch file所在的文件共享目录(它依赖于此目录)。 它也必须是一个本地目录 – 如果我尝试使用CD \\%SERVER_NAME%\%SHARE_NAME%这可以用于EXE,但是对于batch file将失败,cmd.exe不支持将UNCpath作为当前目录。 但是,我也不想在脚本中硬编码共享的本地path,所以我试图在WMI中查找它。 这对pipe理员工作正常,但对于拒绝访问错误的非pipe理员失败。 这些非pipe理员用户可以将RDP发送到服务器,打开PowerShell并在那里成功运行gwmi Win32_Share 。 因此,通过WinRM运行时,权限检查似乎有点不同! 我发现http://www.adilhindistan.com/2013/10/permissions-to-access-wmi-remotely.html,但在许多服务器上看起来相当复杂。 除此之外,我不需要远程WMI访问。 也许还有另一种方式来解决这个份额的本地path? 或者,也可以以某种方式运行WMI查询并对其应用本地权限检查? 毕竟,我已经在远程服务器上的代码,所以应该有一些方法来做到这一点。

Powershell磁盘信息

我正在写一个powershell脚本,它从AD OU的计算机打印磁盘信息。 我的function如下所示: function Get-DiskInfo { $disk = Get-WMIObject Win32_Logicaldisk -ComputerName $computer | Select DeviceID, @{Name="SizeGB";Expression={$_.Size/1GB -as [int]}}, @{Name="FreeGB";Expression={[math]::Round($_.Freespace/1GB,2)}} Write-Host $Computer "Disks: "$disk 如果我将对一台计算机运行Get-WMIObject,我会得到以下输出: DeviceID SizeGB FreeGB ——– —— —— C: 953 757,08 但是,如果我运行多台计算机的function打印输出如下所示: Disks: @{DeviceID=C:; SizeGB=214; FreeGB=21,83} @{DeviceID=D:; SizeGB=932; FreeGB=740,09} @{DeviceID=E:; SizeGB=0; FreeGB=0} 我刚刚对PowerShell新,所以有什么我应该做的不同,以获得更好的输出 整个脚本: https : //gist.github.com/ErkkaKorpi/f1b10a62ac79763fa38082b6c25e8f1b