变量扩展_不在foreach-object循环中工作

时间:2016-01-11 13:26:56

标签: powershell

我有一个脚本,应该向我显示网络中每台计算机上当前登录的用户。但$ _从未扩大。我也试过单引号或双引号(“$ ”'$ ')。什么都没有按预期工作。

$Computers = Get-ADComputer -filter * |
Select-Object -ExpandProperty Name 

$Computers | 
ForEach-Object {
Get-WmiObject win32_computersystem -name $_ | select USername,Caption,Manufacturer
}

我总是收到此错误

Get-WmiObject : Invalid Namespace 
At Zeile:6 Zeichen:18
+     Get-WmiObject <<<<  win32_computersystem -name $_ | select USername,Caption,Manufacturer
    + CategoryInfo          : InvalidOperation: (:) [Get-WmiObject], ManagementException
    + FullyQualifiedErrorId : 
GetWMIManagementException,Microsoft.PowerShell.Commands.GetWmiObjectCommand

我在Powershell中进行了很多关于变量扩展的讨论,但是我发现没有关于这样的嵌套命令。

编辑:我的错。我必须使用-comp而不是-name 现在它可以工作。

$Computers | 
ForEach-Object {
Get-WmiObject win32_computersystem -comp $_ | select USername,Caption,Manufacturer
}

1 个答案:

答案 0 :(得分:0)

我的错。我必须使用-comp而不是-name。现在它有效。