我正在使用此命令获取管理员组中的本地用户,并且它可以正常工作
Get-WmiObject -Class Win32_Groupuser -ComputerName $computer |? {$_.groupcomponent -like '*"Administrators"' -and $_.Partcomponent -like '*"User"'}|ft groupcomponent,Partcomponent
但现在我想使用这样的变量 $组=“管理员” $帐户= “用户”
Get-WmiObject -Class Win32_Groupuser -ComputerName $computer |? {$_.groupcomponent -like *$Group -and $_.Partcomponent -like *$Account}|ft groupcomponent,Partcomponent
但我什么都没有回来
答案 0 :(得分:2)
如果组名是"管理员"你不需要使用通配符。星号将匹配一个或多个字符。例如:
"Administrator*"
与管理员,管理员和管理员匹配
小组"等
"*Administrators"
匹配管理员," Windows管理员"等
"*Administrator*"
匹配管理员,"管理员组"," Windows管理员"等
对于第二个命令,您可以使用子表达式来扩展变量。
Where-Object { $_.groupcomponent -like "*$($Group)*" }
答案 1 :(得分:1)
这是一个有效的例子:
$Group = '"Administrators"'
Get-WmiObject -Class Win32_Groupuser -ComputerName $computer |? {$_.groupcomponent -like "*$Group"}
同样适用于$_.partcomponent
。