Skip to content

Instantly share code, notes, and snippets.

View Disconnect-LinuxVmISO.ps1
##########################################################################
# If A CentOS Linux VM Is Returned, #
# Prompt For Credentials With Privileges To Eject The Media In The Guest #
# And Store The Credentials In The $Creds Variable #
# Then For Every VM Returned Eject The Media In The Guest #
# And Disconnect The ISO From The VM #
##########################################################################
If($CentVMs){
$Creds = Get-Credential
Foreach ($VM in $CentVMs){
View Disconnect-WinVmISO.ps1
########################################################
# If A Windows VM Is Returned, #
# For Every VM Returned Disconnect The ISO From The VM #
########################################################
If($WinVMs){
Foreach ($VM in $WinVMs){
Write-Host ""
Write-Host "Disconnecting The ISO From "$VM.Parent.Name"" -ForegroundColor Yellow
Get-CDDrive -VM $VM.Parent.Name | Set-CDDrive -NoMedia -Confirm:$false > $null
Write-Host ""
View Get-LinuxVMsWithISO.ps1
###########################################
# Get All CentOS Linux VMs Stored In $VMs #
# And Store In The Variable $CentVMs #
###########################################
$CentVMs = $VMs | Where-Object {$_.Parent.Guest.OSFullName -like "*CentOS*"}
View Get-WinVMsWithISO.ps1
######################################
# Get All Windows VMs Stored In $VMs #
# And Store In The Variable $WinVMs #
######################################
$WinVMs = $VMs | Where-Object {$_.Parent.Guest.OSFullName -like "*Windows*"}
View Get-VMsWithISO.ps1
###########################################
# Get All VMs With A Configureed ISO Path #
# And Store In The Variable $VMs #
###########################################
$VMs = Get-VM | Get-CDDrive | Where-Object {$_.IsoPath -ne $null} | Select-Object *
View Disconnect-ISOs.ps1
###########################################
# Get All VMs With A Configureed ISO Path #
# And Store In The Variable $VMs #
###########################################
$VMs = Get-VM | Get-CDDrive | Where-Object {$_.IsoPath -ne $null} | Select-Object *
######################################
# Get All Windows VMs Stored In $VMs #
# And Store In The Variable $WinVMs #
######################################
View Disconnect-VmISO.ps1
Write-Host "Disconnecting The ISO From "$VM.Parent.Name""
Get-CDDrive -VM $VM.Parent.Name | Set-CDDrive -NoMedia -Confirm:$false > $null
View Eject-VmGuestMedia.ps1
Write-Host "Ejecting Media In Guest For "$VM.Parent.Name""
Invoke-VMScript -ScriptText "eject" -ScriptType Bash -VM $VM.Parent.Name -GuestCredential $Creds
View Get-VmISO.ps1
(Get-VM | Where-Object {$_.Guest.OSFullName -like "*CentOS*"} | Get-CDDrive | Where-Object {$_.IsoPath -ne $null} | Select-Object *)