Ken J
Ken J

Reputation: 4562

Powershell Group Array

I have a custom array

$myresults = @() 
$w3svcID = $result.ReturnValue -replace "IISWebServer=", "" 
$w3svcID = $w3svcID -replace "'", "" 
$vdirName = $w3svcID = "/ROOT"; 
$vdirs = gwmi -namespace "root\MicrosoftIISv2" -class "IISWebVirtualDirSetting" 
foreach($vdir in $vdirs) 
{ 
 $vPool = $vdir.Apppoolid 
 $vName = $vdir.Name 

 $robj = New-Object System.Object  
 $robj | Add-Member -type NoteProperty -name Path -value $vName  
 $robj | Add-Member -type NoteProperty -name Pool -value $vPool  
 $myresults += $robj 
} 
$myresults | group-object Pool

I'd like to be able to Group the data in the form of a list where the group values (Path) is under the group-by values (Pool); like so:

DefaultAppPool
   W3SVC\
   W3VSC\1\ROOT\
MyAppPool
   W3SVC\1\ROOT\MyVirtual\

Upvotes: 0

Views: 2102

Answers (1)

Shay Levy
Shay Levy

Reputation: 126762

Give this a try:

Get-WmiObject IISWebVirtualDirSetting -Namespace root\MicrosoftIISv2  |
Group-Object AppPoolId | Foreach-Object{
    $_.Name
    $_.Group | Foreach-Object { "`t$($_.Name)" }
}

Upvotes: 1

Related Questions