[英]Using (*) in Where command in PowerShell
I am Using this command to get a Local User in Administrators group, and it works 我正在使用此命令在Administrators组中获取本地用户,并且它可以正常工作
Get-WmiObject -Class Win32_Groupuser -ComputerName $computer |? {$_.groupcomponent -like '*"Administrators"' -and $_.Partcomponent -like '*"User"'}|ft groupcomponent,Partcomponent
But now i want to use variable like this $Group="Administrators" $Account="users" 但现在我想使用像这样的变量$ Group =“Administrators”$ Account =“users”
Get-WmiObject -Class Win32_Groupuser -ComputerName $computer |? {$_.groupcomponent -like *$Group -and $_.Partcomponent -like *$Account}|ft groupcomponent,Partcomponent
but i get nothing back 但我一无所获
If the group name is "Administrators" you do not need to use a wildcard. 如果组名是“Administrators”,则不需要使用通配符。 The asterisk will match one or more characters. 星号将匹配一个或多个字符。 For example: 例如:
"Administrator*"
matches Administrator, Administators, "Administrator Groups", etc "Administrator*"
与管理员,管理员,“管理员组”等相匹配
"*Administrators"
matches Administrators, "Windows Administrators", etc "*Administrators"
与管理员,“Windows管理员”等相匹配
"*Administrator*"
matches Administrators, "Administrator Groups", "Windows Administrators", etc "*Administrator*"
与管理员,“管理员组”,“Windows管理员”等相匹配
For the second command you can use a sub-expression to expand the variable. 对于第二个命令,您可以使用子表达式来扩展变量。
Where-Object { $_.groupcomponent -like "*$($Group)*" }
This is a working example: 这是一个有效的例子:
$Group = '"Administrators"'
Get-WmiObject -Class Win32_Groupuser -ComputerName $computer |? {$_.groupcomponent -like "*$Group"}
The same can be adapted for $_.partcomponent
. 同样可以适用于$_.partcomponent
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.