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

Get iscsi mapped drive letter from iscsi initiator name

PowerShell 中,我正在尝试获取 ISCSI 目标映射到的驱动器号。我正在使用以下内容获取 ISCSI 启动器名称。

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

我试过使用 Get-Disk | Select *Get-PSDrive | Select * 但是这些 cmdlets 似乎没有任何我可以 link 目标的字段,以获取其驱动器信件。

只要每个 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 对象并 return 它。