Daca sunteti in procesul de implementare a masini virtuale in scopuri de dezvoltare si va aflati in situatia in care trebuie sa reinstalati in mod repetat sistemele de operare din interiorul masinii virtuale, vi se va solicita sa atasati fisierul ISO si apoi sa efectuati instalarea sistemului de operare pentru fiecare instanta.

 

In timp ce puteti atasa manual fisierul ISO la o masina virtuala folosind Hyper-V Manager, ar putea dura o perioada exagerata de timp daca aveti nevoie sa atasati fisierul ISO la mai multe masini virtuale si daca trebuie sa repetati aceeasi sarcina in fiecare luna. Crearea unui mic script PowerShell ar ajuta si ar putea sa va economiseasca mult timp.

 

 

Sa aruncam o privire mai atenta asupra modului de utilizare a cmdlet-urilor PowerShell pentru atasarea si dezasamblarea a unui fisier ISO pe mai multe masini virtuale.

Putem folosi comanda Set-VMDVDDrive PowerShell pentru a atasa un fisier ISO la o masina virtuala si Remove-VMDVDDrive pentru a deconecta fisierul ISO de la o singura masina sau de la toate masinile virtuale.

Daca cerinta este sa atasati acelasi fisier ISO la toate masinile virtuale de pe un server local Hyper-V, veti dori sa executati urmatoarea comanda PowerShell:

Get-VM * | Get-VMDVDDrive | Set-VMDVDDrive -Path “E:\OSISO\Windows10.ISO”

 

 

Atasarea unui fisier ISO la un server remote Hyper-V

 

In timp ce comanda PowerShell de mai sus colecteaza toate masinile virtuale de pe serverul Hyper-V local si le ataseaza fisierul “E: \ OSISO \ Windows10.ISO”, comanda PowerShell de mai jos ataseaza acelasi fisier ISO pe un server remote Hyper-V:

 

Get-VM * -ComputerName HyperVHost1 | Get-VMDVDDrive | Set-VMDVDDrive -Path “E:\OSISO\Windows10.ISO”

 

 

 

In timp ce puteti utiliza comenzile PowerShell de mai sus pentru a atasa acelasi ISO masinilor virtuale, daca aveti nevoie sa atasati un fisier ISO diferit pentru fiecare masina virtuala. Va trebui sa specificati maparea ISO intr-un fisier CSV si apoi sa aveti CSV fisier procesat prin scriptul PowerShell urmator:

 

$ISOMappingFile = “C:\Temp\ISOPerVM.CSV”

$ThisCSV = Import-CSV $ISOMappingFile

Foreach ($AllItems in $ThisCSV)

{

$ThisVM = $AllItems.VMName

$VMISOFile = $AllItems.VMISOFile

Get-VM -VMName $ThisVM | Get-VMDVDDrive | Set-VMDVDDrive -Path “$VMISOFile”

}

 

 

Scriptul PowerShell de mai sus interogheaza fisierul ISO care va fi atasat fiecarei masini virtuale in fisierul “C: \ Temp \ ISOPerVM.CSV” si apoi executa comanda Set-VMDVDDrive PowerShell pentru a atasa fisierul ISO. Fisierul “C: \ Temp \ ISOPerVM.CSV”.

 

Eliminarea fisierelor ISO din masinile virtuale se poate face cu usurinta utilizand scriptul PowerShell de mai sus, dar va trebui sa inlocuiti linia de comanda “Get-VM-VMName $ ThisVM | Get-VMDVDDrive | Set-VMDVDDrive -Path” $ VMISOFile” cu comanda “Get-VM -VMName $ AcestVM | Get-VMDVDDrive -VMName $ ThisVM -ControllerNumber 0 | Remove-VMDVDDrive ” asa cum apare in scriptul de mai jos:

 

$ISOMappingFile = “C:\Temp\ISOPerVM.CSV”

$ThisCSV = Import-CSV $ISOMappingFile

Foreach ($AllItems in $ThisCSV)

{

$ThisVM = $AllItems.VMName

$VMISOFile = $AllItems.VMISOFile

Get-VM -VMName $ThisVM | Get-VMDVDDrive -VMName $ThisVM -ControllerNumber 0 | Remove-VMDVDDrive

}

 

 

In plus fata de utilizarea comenzilor Get-VMDVDDrive explicate mai sus, puteti utiliza si comenzile PowerShell de mai jos pentru a verifica daca un fisier ISO este atasat la masinile virtuale Hyper-V de la distanta. Prin executarea urmatoarei comenzi PowerShell, veti interoga calea unitatii DVD de pe mai multe masini virtuale Hyper-V:

 

Get-VM -ComputerName HyperVHost1, HyperVHost2, HyperVHost3 | Get-VMDVDDrive | Select VMName, Path | Export-CSV C:\Temp\Report.CSV –NoTypeInfo

 

 

Eliminarea fisierelor ISO

 

In timp ce puteti utiliza scriptul PowerShell de mai sus pentru a elimina fisierele ISO de pe masinile virtuale de pe un server local Hyper-V, cand trebuie sa eliminati fisiere ISO din mai multe masini Hyper-V, puteti utiliza urmatoarea comanda PowerShell. De exemplu, daca doriti sa setati calea unitatii DVD la $null pentru toate masinile virtuale de pe masina locala veti executati aceasta comanda PowerShell:

 

Get-VM | Get-VMDVDDrive | Set-VMDVDDrive -Path $Null

 

Daca doriti sa setati calea DVD la $null pentru toate masinile virtuale de pe Hyper-V de la distanta, executati aceasta comanda PowerShell:

 

Get-VM -ComputerName HyperVHost1, HyperVHost2, HyperVHost3 | Get-VMDVDDrive | Set-VMDVDDrive -Path $Null

 

In concluzie, acest tutorial a dezvaluit cum sa atasati si sa dezactivati unitatile DVD. Am ilustrat, de asemenea, modul de utilizare a comenzilor si script-urilor simple PowerShell pentru a efectua adaugarea sau eliminarea unitatilor DVD.

 

 

1 COMENTARIU

LĂSAȚI UN MESAJ

Please enter your comment!
Please enter your name here