If you’ve ever missed the ability to manage virtual SCSI controllers with PowerCLI, your problem is now solved. The latest PowerCLI release introduces a new group of cmdlets for getting, creating and updating SCSI controllers of virtual machines. You can choose between different SCSI controller types and between different SCSI bus sharing modes. You can also filter the SCSI controllers by several filters: virtual machines, virtual hard disks, templates and snapshots. Here are few examples of usage of the new cmdlets:
Get-VM “VM” | Get-ScsiController
Retrieves the SCSI controllers of the specified virtual machine.
New-ScsiController -HardDisk $hardDisk-Type VirtualBusLogic -BusSharingMode NoSharing
Creates VirtualBusLogic SCSI controller with no sharing support and attaches the specified virtual hard disk to it.
Set-ScsiController -ScsiController $scsicontroller –Type VirtualLsiLogic -BusSharingMode Virtual
Updates an existing SCSI controller’s type and sharing mode.
Besides, you can create a new hard disk by specifying an existing SCSI controller and change the SCSI controller of an existing hard disk. New-HardDisk and Set-HardDisk cmdlets are enhanced with a new “Controller” parameter that accepts objects returned by New\Set\Get-ScsiController cmdlets.
Note that you won’t find a Remove- ScsiController cmdlet. The reason is that you cannot remove a SCSI controller used by at least one virtual hard disk. If a SCSI controller becomes unused by any hard disk, it is automatically removed.
For more details about the support for virtual machine SCSI controllers, check out the PowerCLI cmdlet reference and the online documentation.