在PowerShell
中,我正在尝试获取ISCSI目标映射到的驱动器号。我使用以下内容来获取ISCSI启动器名称。
Get-IscsiTarget | ? {$_.IsConnected -eq $True} | Select -ExpandProperty NodeAddress
我尝试过使用Get-Disk | Select *
和Get-PSDrive | Select *
,但这些cmdlets
似乎没有任何可以链接目标以获取其驱动器号的字段。
只要每个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对象并返回。