Skip to content

VirtuallyThatGuy

Anything VMware , PowerCLI, PowerShell, Automation and some Windows

Menu
  • Home
  • PowerCLI
  • VMware
  • Automation
  • Windows
  • About
Menu

Script: How to check and remove CD Drive or ISO Connection of a VM using Powershell or PowerCLI – VirtuallyThatGuy

Posted on September 26, 2021December 6, 2022 by VirtuallyThatGuy

This is a quick script for reporting and taking actions on how to check and remove CD Drive or ISO Connection of a VM using Powershell or PowerCLI. This is very useful when system admin have mounted an ISO to a VM using local datastore and vmotion not migrating the VM due to the connected ISO file.

CD Drive or ISO connected Reporting

 

 # Check VMs with CD ROM attached to them

get-vm​​ |​​ where​​ {​​ $_​​ |​​ get-cddrive​​ |​​ where​​ {​​ $_.ConnectionState.Connected​​ -eq​​ "true"​​ } }​​ |​​ select​​ Name

# Check VMs with ISO files attached to Them

get-vm​​ |​​ where​​ {​​ $_​​ |​​ get-cddrive​​ |​​ where​​ {​​ $_.ConnectionState.Connected​​ -eq​​ "true"​​ -and​​ $_.ISOPath​​ -like​​ "*.ISO*"} }​​ |​​ select​​ Name,​​ @{Name=".ISO Path";Expression={(Get-CDDrive​​ $_).isopath }}

 # Disconnect all VMs where the CD Drive is connected and it is​​ NOT​​ an .ISO

$VMs​​ =​​ Get-VM

$CDConnected​​ =​​ Get-CDDrive​​ $VMs​​ |​​ where​​ { ($_.ConnectionState.Connected​​ -eq​​ "true")​​ -and​​ ($_.ISOPath​​ -notlike​​ "*.ISO*")}

If​​ ($CDConnected​​ -ne​​ $null) {Set-CDDrive​​ -connected​​ 0​​ -StartConnected​​ 0​​ $CDConnected​​ -Confirm:$false​​ }

# Disconnect all VMs where the CD Drive is connected and it is an .ISO

$VMs​​ =​​ Get-VM

$CDConnected​​ =​​ Get-CDDrive​​ $VMs​​ |​​ where​​ { ($_.ConnectionState.Connected​​ -eq​​ "true")​​ -and​​ ($_.ISOPath​​ -like​​ "*.ISO*")}

If​​ ($CDConnected​​ -ne​​ $null) {Set-CDDrive​​ -connected​​ 0​​ -StartConnected​​ 0​​ $CDConnected​​ -Confirm:$false​​ }

# VMs with a mounted ISO file as a CD/DVD drive

Get-VM​​ |​​ FT​​ Name,​​ @{Label="ISO file"; Expression​​ =​​ { ($_​​ |​​ Get-CDDrive).ISOPath }}

 

 

# Check VMs with CD ROM attached to them
get-vm | where { $_ | get-cddrive | where { $_.ConnectionState.Connected -eq "true" } } | select Name
# Check VMs with ISO files attached to Them
get-vm | where { $_ | get-cddrive | where { $_.ConnectionState.Connected -eq "true" -and $_.ISOPath -like "*.ISO*"} } | select Name, @{Name=".ISO Path";Expression={(Get-CDDrive $_).isopath }}
 # Disconnect all VMs where the CD Drive is connected and it is NOT an .ISO
$VMs = Get-VM
$CDConnected = Get-CDDrive $VMs | where { ($_.ConnectionState.Connected -eq "true") -and ($_.ISOPath -notlike "*.ISO*")}
If ($CDConnected -ne $null) {Set-CDDrive -connected 0 -StartConnected 0 $CDConnected -Confirm:$false }
# Disconnect all VMs where the CD Drive is connected and it is an .ISO
$VMs = Get-VM
$CDConnected = Get-CDDrive $VMs | where { ($_.ConnectionState.Connected -eq "true") -and ($_.ISOPath -like "*.ISO*")}
If ($CDConnected -ne $null) {Set-CDDrive -connected 0 -StartConnected 0 $CDConnected -Confirm:$false }
# VMs with a mounted ISO file as a CD/DVD drive
Get-VM | FT Name, @{Label="ISO file"; Expression = { ($_ | Get-CDDrive).ISOPath }}

1 thought on “Script: How to check and remove CD Drive or ISO Connection of a VM using Powershell or PowerCLI – VirtuallyThatGuy”

  1. Pingback: Script: How to check VMs with ISO or CD-Drive Connected Using PowerShell and PowerCLI – VirtuallyThatGuy - VirtuallyThatGuy

Leave a Reply Cancel reply

Your email address will not be published. Required fields are marked *

Recent Posts

  • vROps: Management Pack Troubleshooting
  • Windows AD {Active Directory} (PowerShell) samples
  • Migrate VMs Between vCentres Using Powershell or PowerCLI
  • Set VM Tools to Update Automatically on VM Reboot using powershell
  • Windows Administrator Must Have Powershell Commands

Recent Comments

  • VirtuallyThatGuy on ESXi 8.x, 7.x, 6.x Service sfcbd-watchdog Not Running / Fails to Start – VirtuallyThatGuy
  • VirtuallyThatGuy on VMware ESXi CLI Cheat Sheet
  • Johan on ESXi 8.x, 7.x, 6.x Service sfcbd-watchdog Not Running / Fails to Start – VirtuallyThatGuy
  • Allen on VMware ESXi CLI Cheat Sheet
  • edward on Cluster Capacity Report for VMs, Cluster, Hosts, vCenter – Using PowerCLI – VirtuallyThatGuy

Archives

  • March 2023
  • February 2023
  • January 2023
  • December 2022
  • November 2022
  • October 2022
  • September 2022
  • August 2022
  • July 2022
  • June 2022
  • May 2022
  • April 2022
  • March 2022
  • February 2022
  • January 2022
  • December 2021
  • November 2021
  • October 2021
  • September 2021
  • August 2021
  • July 2021
  • June 2021
  • May 2021
  • April 2021
  • March 2021
  • February 2021
  • January 2021
  • December 2020
  • November 2020
  • October 2020
  • September 2020
  • May 2020
  • April 2020
  • March 2020
  • February 2020
  • January 2020
  • December 2019
  • November 2019
  • October 2019
  • September 2019
  • August 2019
  • July 2019
  • May 2019
  • April 2019
  • March 2019
  • February 2019
  • January 2019
  • December 2018
  • November 2018
  • October 2018
  • July 2018
  • June 2018
  • May 2018
  • April 2018
  • March 2018
  • February 2018
  • January 2018
  • December 2017

Categories

  • Automation
  • PowerCLI
  • VMware
  • Windows
© 2023 VirtuallyThatGuy | Powered by Superbs Personal Blog theme