Мне нравится находить все разделы диска, которые находятся на диске iSCSI, с помощью PowerShell.
Чтобы найти все идентификаторы дисковых объектов iSCSI, мы можем использовать:
Get-Disk | Where BusType -ieq iscsi | Select -prop ObjectId
Используя оператор in
, это должно вернуть все разделы:
Get-Partition | Where DiskId in (Get-Disk | Where BusType -ieq iscsi | Select -prop ObjectId)
К сожалению, эта команда возвращает типичную ошибку PowerShell:
Where-Object : A positional parameter cannot be found that accepts argument 'System.Object[]'.
At line:1 char:17
+ Get-Partition | Where DiskId in (Get-Disk | Where BusType -ieq iscsi | Select -p ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : InvalidArgument: (:) [Where-Object], ParameterBindingException
+ FullyQualifiedErrorId : PositionalParameterNotFound,Microsoft.PowerShell.Commands.WhereObjectCommand
Как правильно использовать оператор in
?
-in
, а неin
. - person Bacon Bits   schedule 30.12.2018