2013-06-11 54 views
1

这可能吗?我需要从System.DirectoryServices.PropertyValueCollection转换为String从.Name属性更改为字符串

$ou = [ADSI]"LDAP://OU=Domain Controllers,DC=domain,DC=local" 
foreach ($child in $ou.psbase.Children) { 
    if ($child.ObjectCategory -like '*computer*') { 
     Write-Host $child.Name 
     if (Test-Connection -quiet $child.Name) { 
      Test-Connection $child.name 
      Invoke-GPUpdate $child.name 
     }else{Write-Host "$child.Name is offline"} 
    } 

} 

回答

1

就像这样: $ child.Name.ToString()

编辑:我只是在我的实验室测试和实际工作的,不知道到底为什么:

$child | %{$_.name} 
1

我相信你的问题在这里:

}else{Write-Host "$child.Name is offline"} 

尝试:

}else{Write-Host "$($child.Name) is offline"} 

在一个字符串变量的属性不会被扩展,你需要把它们放在$()符号。