从iscsi启动器名称获取iscsi映射的驱动器号

时间:2016-03-29 13:51:20

标签: powershell iscsi drive-letter

PowerShell我试图获取ISCSI目标映射到的驱动器号。我使用以下命令获取ISCSI启动器名称。

Get-IscsiTarget | ? {$_.IsConnected -eq $True} | Select -ExpandProperty NodeAddress

我尝试过使用Get-Disk | Select *Get-PSDrive | Select *,但这些cmdlets似乎没有任何可以将目标链接到的字段,以获取其驱动器号。

1 个答案:

答案 0 :(得分:1)

只要每个ISCSI目标有一个活动分区(不包括保留),就可以使用以下命令将ISCSI地址与其对应的驱动器号匹配。

foreach ($disk in (Get-Disk | ?{$_.BusType -Eq "iSCSI"})){

    $DriveLetter = ($disk | Get-Partition | ?{$_.Type -eq "Basic"}).DriveLetter
    $ISCSI = $disk | Get-IscsiSession

    [pscustomobject]@{
        DiskNumber=$disk.Number; 
        DriveLetter=$DriveLetter; 
        InitiatorNodeAddress=$ISCSI.InitiatorNodeAddress;
        InitiatorIP=$ISCSI.InitiatorPortalAddress;
        Size=$disk.Size;
    }  
}

这将检查所有连接的ISCSI磁盘并获取其相应的驱动器号,然后它将所有信息放入客户PowerShell对象并返回它。