Diskpart.exe durch Powershell ersetzen mittels Virtual Disk Service


Eine der wenigen Bastionen in denen Powershell in vielen Beispielen noch auf Kommandozeilenbefehle zurückgreifen muss, anstatt über Cmdlets oder direkte COM-Schnittstellen-Aufrufe zu glänzen, ist sicherlich DISKPART.

Bei Artikeln, wo man mittels Diskpart einen USB-Stick einrichten muss, wie z. B. hier: https://newyear2006.wordpress.com/2009/09/19/windows-vista-windows-7-usb-boot-stick-erstellen/, stellt sich regelmäßig das Problem, dass Diskpart zu sperrig ist und unbedarfte Benutzer schnell großen Schaden anrichten können.

Aber Dank dieses genialen Artikels: http://esotericalstuff.wordpress.com/2010/11/18/vds-under-powershell-2/, sollte dieses Thema bald aus der Welt geschafft sein. Denn mittels Virtual Disk Service kann man Diskpart sicherlich umgehen.

Entscheidend sind diese Zeilen:

[System.Reflection.Assembly]::LoadWithPartialName("Microsoft.Storage.Vds") | Out-Null 
$VdsServiceLoader = New-Object Microsoft.Storage.Vds.ServiceLoader 
$VdsService = $VdsServiceLoader.LoadService($null) 
$VdsService.WaitForServiceReady() 
$VdsService.Reenumerate() 

#Build up a collection of all disks presented to the os 
$Disks = ($VdsService.Providers |% {$_.Packs}) |% {$_.Disks} 

Allerdings weißt dieser MS-Mitarbeiter darauf hin, dass die Sache vielleicht nicht von Dauer sein könnte (siehe Method2): http://blogs.msdn.com/b/taylorb/archive/2010/07/01/getting-more-information-about-you-cluster-lun-s-part-3-of-3.aspx. Es sind bereits auch die Links für die älteren Artikel für VDS und Powershell nicht mehr aufrufbar. Ein Zeichen?

Hier die zugrunde liegende MSDN-Doku zu VDS: http://msdn.microsoft.com/en-us/library/bb986750(v=VS.85).aspx

Hier noch eine Lösung in C#, was möglich ist: http://stackoverflow.com/questions/2755458/retrieving-virtual-disk-file-name-from-disk-number

Schreibe einen Kommentar

Trage deine Daten unten ein oder klicke ein Icon um dich einzuloggen:

WordPress.com-Logo

Du kommentierst mit Deinem WordPress.com-Konto. Abmelden / Ändern )

Twitter-Bild

Du kommentierst mit Deinem Twitter-Konto. Abmelden / Ändern )

Facebook-Foto

Du kommentierst mit Deinem Facebook-Konto. Abmelden / Ändern )

Google+ Foto

Du kommentierst mit Deinem Google+-Konto. Abmelden / Ändern )

Verbinde mit %s


%d Bloggern gefällt das: