Public/Get-SilkSessions.ps1
function Get-SilkSessions { param( [Parameter()] [ipaddress] $cnodeIP ) if ($cnodeIP) { $allConnections = Get-IscsiConnection | where-object {$_.TargetAddress -eq $cnodeIP.IPAddressToString} } else { $allConnections = Get-IscsiConnection } $returnArray = @() $allTargetIPs = ($allConnections | Select-Object TargetAddress -Unique).TargetAddress foreach ($i in $allTargetIPs) { $o = New-Object psobject $o | Add-Member -MemberType NoteProperty -Name "CNode IP" -Value $i $o | Add-Member -MemberType NoteProperty -Name "Host IP" -Value ($allConnections | Where-Object {$_.TargetAddress -eq $i} | Select-Object InitiatorAddress -Unique).InitiatorAddress $o | Add-Member -MemberType NoteProperty -Name "Configured Sessions" -Value ($allConnections | Where-Object {$_.TargetAddress -eq $i} | Get-IscsiSession | Where-Object {$_.IsDiscovered}).count $o | Add-Member -MemberType NoteProperty -Name "Connected Sessions" -Value ($allConnections | Where-Object {$_.TargetAddress -eq $i}).count $o | Add-Member -MemberType NoteProperty -Name "Silk IQN" -Value $silkTargetIQN $returnArray += $o } if ($returnArray) { return $returnArray | Format-Table } else { $o = New-Object psobject $o | Add-Member -MemberType NoteProperty -Name "CNode IP" -Value $null $o | Add-Member -MemberType NoteProperty -Name "Host IP" -Value $null $o | Add-Member -MemberType NoteProperty -Name "Configured Sessions" -Value $null $o | Add-Member -MemberType NoteProperty -Name "Connected Sessions" -Value $null $o | Add-Member -MemberType NoteProperty -Name "Silk IQN" -Value $null return $o | Format-Table } # Get-IscsiTarget - get server iqn # Get-IscsiConnection - get session information # Get-InitiatorPort - get host IQN # Get-IscsiConnection | Get-IscsiSession } |