2016-03-29 18 views
1

In PowerShell Ich versuche, den Laufwerksbuchstaben zu erhalten, der ein ISCSI-Ziel zugeordnet ist. Ich verwende Folgendes, um den ISCSI-Initiatornamen zu erhalten.Iscsi zugeordneten Laufwerksbuchstaben von Iscsi-Initiator-Name

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

ich versucht habe, mit Get-Disk | Select * und Get-PSDrive | Select * aber diese cmdlets scheinen keine Felder zu haben, dass ich ein Ziel verknüpfen kann seine Laufwerksbuchstaben zu erhalten.

+0

Ein iSCSI-Ziel kann mehr als eine logische Einheit enthalten, sodass Sie möglicherweise mehr als ein Laufwerk haben. Sehen Sie sich diese andere Frage an, die einen anderen Ansatz verfolgt: Sehen Sie sich die Liste der Laufwerke an, bevor und nachdem Sie die iSCSI-Sitzung gestartet haben: http://stackoverflow.com/questions/36286366/get-iscsi-mapped-drive-letter-from -iscsi-Initiator-Name –

+0

@gubblebozer der Link, den Sie mir gegeben haben, ist keine andere Frage, es verweist zurück auf diese Frage? – Richard

+0

Ugh ... Ausschneiden und Einfügen fehlgeschlagen. Das ist die Frage, die ich beabsichtigt hatte: http://stackoverflow.com/questions/30957901/find-the-new-drive-connected-through-iscsi –

Antwort

0

Solange Sie pro ISCSI-Ziel eine aktive Partition haben (nicht einschließlich reserviert), können Sie eine ISCSI-Adresse mit dem entsprechenden Laufwerksbuchstaben vergleichen.

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; 
    } 
} 

Dadurch werden alle angeschlossenen ISCSI Platten überprüfen und ihre entsprechenden Laufwerksbuchstaben bekommen, dann wird es alle Informationen zu einem Objekt Kundenpowershell setzen und sie zurückbringen.