繁体   English   中英

在PowerShell中的Where命令中使用(*)

[英]Using (*) in Where command in PowerShell

我正在使用此命令在Administrators组中获取本地用户,并且它可以正常工作

Get-WmiObject -Class Win32_Groupuser -ComputerName $computer |? {$_.groupcomponent -like '*"Administrators"' -and $_.Partcomponent -like '*"User"'}|ft groupcomponent,Partcomponent

但现在我想使用像这样的变量$ Group =“Administrators”$ Account =“users”

Get-WmiObject -Class Win32_Groupuser -ComputerName $computer |? {$_.groupcomponent -like *$Group -and $_.Partcomponent -like *$Account}|ft groupcomponent,Partcomponent

但我一无所获

如果组名是“Administrators”,则不需要使用通配符。 星号将匹配一个或多个字符。 例如:

"Administrator*"与管理员,管理员,“管理员组”等相匹配

"*Administrators"与管理员,“Windows管理员”等相匹配

"*Administrator*"与管理员,“管理员组”,“Windows管理员”等相匹配

对于第二个命令,您可以使用子表达式来扩展变量。

Where-Object { $_.groupcomponent -like "*$($Group)*" }

这是一个有效的例子:

$Group = '"Administrators"'
Get-WmiObject -Class Win32_Groupuser -ComputerName $computer |? {$_.groupcomponent -like "*$Group"}

同样可以适用于$_.partcomponent

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM