Remove-SCVirtualDiskDrive
Menghapus drive disk virtual dari komputer virtual atau dari templat komputer virtual.
Sintaks
Remove-SCVirtualDiskDrive
[-VirtualDiskDrive] <VirtualDiskDrive>
[-SkipDeleteVHD]
[-JobGroup <Guid>]
[-Force]
[-RunAsynchronously]
[-PROTipID <Guid>]
[-JobVariable <String>]
[-WhatIf]
[-Confirm]
[-OnBehalfOfUser <String>]
[-OnBehalfOfUserRole <UserRole>]
[<CommonParameters>]
Deskripsi
Cmdlet Remove-SCVirtualDiskDrive menghapus objek drive disk virtual dari komputer virtual atau dari templat komputer virtual di lingkungan Virtual Machine Manager (VMM).
Contoh
Contoh 1: Menghapus drive disk virtual dari komputer virtual
PS C:\> $VM = Get-SCVirtualMachine | Where-Object { $_.VMHost.Name -Eq "VMHost01.Contoso.com" -And $_.Name -Eq "VM01" }
PS C:\> $VirtDiskDrive = @(Get-SCVirtualDiskDrive -VM $VM)
PS C:\> If($VirtDiskDrive.Count -Gt 1){Remove-SCVirtualDiskDrive -VirtualDiskDrive $VirtDiskDrive[1]}
Perintah pertama mendapatkan objek komputer virtual bernama VM01 yang disebarkan di VMHost01 dengan menggunakan cmdlet Get-SCVirtualMachine . Perintah menyimpan objek tersebut dalam variabel $VM.
Perintah kedua mendapatkan semua objek drive disk virtual di VM01, lalu menyimpan objek yang diambil di $VirtDiskDrive. Menggunakan simbol @ dan tanda kurung memastikan bahwa perintah menyimpan hasil dalam array, meskipun perintah mengembalikan satu objek atau nilai $Null.
Perintah terakhir mengembalikan jumlah drive disk virtual yang terkait dengan komputer virtual dan kemudian, jika ada lebih dari satu, perintah menghapus drive disk virtual kedua, yang ditunjuk oleh [1], dari komputer virtual.
Contoh 2: Menghapus semua disk pass-through yang terpasang pada komputer virtual
PS C:\> $VM = Get-SCVirtualMachine | Where-Object {$_.Name -Eq "VM02"}
PS C:\> $VirtDiskDrives = @(Get-SCVirtualDiskDrive -VM $VM | Where-Object {$_.IsVHD -Eq $False})
PS C:\> If($VirtDiskDrives.Count -Gt 0){ForEach($VirtDiskDrive in $VirtDiskDrives){Remove-SCVirtualDiskDrive -Force -VirtualDiskDrive $VirtDiskDrive}}
Perintah pertama mendapatkan objek komputer virtual bernama VM02, lalu menyimpan objek tersebut dalam variabel $VM.
Perintah kedua mendapatkan semua objek drive disk virtual yang melekat pada VM02 yang bukan hard disk virtual. Perintah hanya mendapatkan objek yang mewakili disk pass-through. Perintah menyimpan objek disk pass-through dalam array objek $VDDs.
Perintah terakhir menggunakan pernyataan If untuk menentukan apakah setidaknya ada satu drive disk virtual pass-through.
Jika hasilnya adalah satu atau beberapa, perintah kemudian menggunakan pernyataan ForEach untuk menghapus setiap drive disk virtual dari array objek.
Untuk informasi selengkapnya, ketik Get-Help about_If
dan Get-Help about_Foreach
.
Perintah terakhir menentukan parameter Paksa . Oleh karena itu, perintah menghapus setiap drive disk virtual dari komputer virtualnya meskipun objek VMM lainnya bergantung pada drive disk virtual tersebut.
Contoh 3: Menghapus drive disk virtual berdasarkan nama
PS C:\> $VM = @(Get-SCVirtualMachine | Where-Object {$_.Name -Match "WebSrvLOB"})
PS C:\> ForEach-Object ($VM in $VMs){$VirtDiskDrives = Get-SCVirtualDiskDrive -VM $VM
PS C:\> ForEach-Object ($VirtDiskDrive in $VirtDiskDrives){If($VirtDiskDrive.Name -Match "LOBData"){Remove-SCVirtualDiskDrive -VirtualDiskDrive $VirtDiskDrive}}}
Perintah pertama mendapatkan semua objek komputer virtual yang namanya cocok dengan string WebSrvLOB, lalu menyimpan objek tersebut dalam array $VM.
Dua perintah berikutnya menggunakan cmdlet ForEach-Object untuk melakukan iterasi melalui komputer virtual yang disimpan di $VM untuk mendapatkan semua objek drive disk virtual dari setiap komputer virtual. Perintah kedua menyimpan objek drive disk virtual dalam array objek $VirtDiskDrives.
Perintah ketiga menggunakan perulangan ForEach kedua untuk memilih semua objek drive disk virtual yang namanya berisi string LOBData dari array $VirtDiskDrives dan meneruskan objek ini ke cmdlet saat ini. Cmdlet ini menghapus objek dari VMM.
Parameter
-Confirm
Meminta Anda mengonfirmasi sebelum menjalankan cmdlet.
Type: | SwitchParameter |
Aliases: | cf |
Position: | Named |
Default value: | False |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Force
Memaksa operasi selesai.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-JobGroup
Menentukan pengidentifikasi untuk serangkaian perintah yang berjalan sebagai set tepat sebelum perintah akhir yang menyertakan pengidentifikasi grup pekerjaan yang sama berjalan.
Type: | Guid |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-JobVariable
Menentukan variabel di mana kemajuan pekerjaan dilacak dan disimpan.
Type: | String |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-OnBehalfOfUser
Menentukan nama pengguna. Cmdlet ini beroperasi atas nama pengguna yang ditentukan parameter ini.
Type: | String |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-OnBehalfOfUserRole
Menentukan peran pengguna. Untuk mendapatkan peran pengguna, gunakan cmdlet Get-SCUserRole . Cmdlet ini beroperasi atas nama peran pengguna yang ditentukan parameter ini.
Type: | UserRole |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-PROTipID
Menentukan ID tip Performa dan Pengoptimalan Sumber Daya (pro tip) yang memicu tindakan ini. Parameter ini memungkinkan Anda mengaudit tips PRO.
Type: | Guid |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-RunAsynchronously
Menunjukkan bahwa pekerjaan berjalan secara asinkron sehingga kontrol segera kembali ke shell perintah.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-SkipDeleteVHD
Menunjukkan bahwa cmdlet ini bukan file VHD saat menghapus drive disk virtual.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-VirtualDiskDrive
Menentukan objek drive disk virtual. Anda dapat melampirkan hard disk virtual atau disk pass-through ke objek drive disk virtual.
Type: | VirtualDiskDrive |
Position: | 0 |
Default value: | None |
Required: | True |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-WhatIf
Menunjukkan apa yang akan terjadi jika cmdlet berjalan. Cmdlet tidak dijalankan.
Type: | SwitchParameter |
Aliases: | wi |
Position: | Named |
Default value: | False |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Catatan
- Memerlukan objek drive disk virtual VMM, yang dapat diambil dengan menggunakan cmdlet Get-SCVirtualDiskDrive .