这是简单的脚本:
$groups = Get-WMIObject -Class Win32_GroupUser -ComputerName $server | Select-object @{N="Group";E={($_.PartComponent -split "Name=")[1].Replace('"','')}}
$groups
但是,$groups
是null
!
我已检查过互联网,但无法找到解决方案。
我确信这是一个简单的答案......
答案 0 :(得分:0)
查询在语法上是正确的。检查您是否在$server
参数中存储了正确的值,以及 WMI服务是否正在运行。
答案 1 :(得分:0)
这里没有什么问题,因为它在测试时会提取数据。 注意我使用的是localhost,而不是远程系统。
(
$groups = Get-WMIObject -Class Win32_GroupUser -ComputerName $env:COMPUTERNAME `
| Select-object @{N="Group";E={($_.PartComponent -split "Name=")[1].Replace('"','')}}
)
Group
-----
postanote
...
IUSR
...
SYSTEM
...
INTERACTIVE
Authenticated Users
...
DefaultAccount
Guest
Administrator
...
SYSTEM
...
$groups.Count
27
在远程系统上很好。
(
$groups = Get-WMIObject -Class Win32_GroupUser -ComputerName 'ws01' `
| Select-object @{N="Group";E={($_.PartComponent -split "Name=")[1].Replace('"','')}}
)
Group
-----
Administrator
Domain Admins
...
Guest
SYSTEM
...
INTERACTIVE
Authenticated Users
Domain Users
SYSTEM
$groups.Count
18
因此,在您的环境中环境保护的东西,对您来说是第22个。
在您的localhost主机上运行此命令,看看您是否可以从目标中获取任何内容。
Test-WSMan -ComputerName ws01
wsmid : http://schemas.dmtf.org/wbem/wsman/identity/1/wsmanidentity.xsd
ProtocolVersion : http://schemas.dmtf.org/wbem/wsman/1/wsman.xsd
ProductVendor : Microsoft Corporation
ProductVersion : OS: 0.0.0 SP: 0.0 Stack: 3.0