在 PowerShell 的 Where 命令中使用 (*)
Using (*) in Where command in PowerShell
我正在使用此命令在管理员组中获取本地用户,并且有效
Get-WmiObject -Class Win32_Groupuser -ComputerName $computer |? {$_.groupcomponent -like '*"Administrators"' -and $_.Partcomponent -like '*"User"'}|ft groupcomponent,Partcomponent
但现在我想像这样使用变量
$组="Administrators"
$帐户="users"
Get-WmiObject -Class Win32_Groupuser -ComputerName $computer |? {$_.groupcomponent -like *$Group -and $_.Partcomponent -like *$Account}|ft groupcomponent,Partcomponent
但我一无所获
这是一个工作示例:
$Group = '"Administrators"'
Get-WmiObject -Class Win32_Groupuser -ComputerName $computer |? {$_.groupcomponent -like "*$Group"}
同样适用于 $_.partcomponent
。
如果组名是 "Administrators",则不需要使用通配符。星号将匹配一个或多个字符。例如:
"Administrator*"
匹配 Administrator、Administrators、“Administrator
组”等
"*Administrators"
匹配管理员,"Windows Administrators",等等
"*Administrator*"
匹配管理员,"Administrator Groups","Windows Administrators",等等
对于第二个命令,您可以使用子表达式来扩展变量。
Where-Object { $_.groupcomponent -like "*$($Group)*" }
我正在使用此命令在管理员组中获取本地用户,并且有效
Get-WmiObject -Class Win32_Groupuser -ComputerName $computer |? {$_.groupcomponent -like '*"Administrators"' -and $_.Partcomponent -like '*"User"'}|ft groupcomponent,Partcomponent
但现在我想像这样使用变量 $组="Administrators" $帐户="users"
Get-WmiObject -Class Win32_Groupuser -ComputerName $computer |? {$_.groupcomponent -like *$Group -and $_.Partcomponent -like *$Account}|ft groupcomponent,Partcomponent
但我一无所获
这是一个工作示例:
$Group = '"Administrators"'
Get-WmiObject -Class Win32_Groupuser -ComputerName $computer |? {$_.groupcomponent -like "*$Group"}
同样适用于 $_.partcomponent
。
如果组名是 "Administrators",则不需要使用通配符。星号将匹配一个或多个字符。例如:
"Administrator*"
匹配 Administrator、Administrators、“Administrator
组”等
"*Administrators"
匹配管理员,"Windows Administrators",等等
"*Administrator*"
匹配管理员,"Administrator Groups","Windows Administrators",等等
对于第二个命令,您可以使用子表达式来扩展变量。
Where-Object { $_.groupcomponent -like "*$($Group)*" }