Вы видели это: C # Open Закрыть несколько дисков? Обратите внимание, что есть способ указать букву диска:
Чтобы открыть диск, вам нужно отправить две командные строки, используя mciSendStringA. Первый назначит имя для желаемого диска.
Вторая команда откроет лоток для диска:
mciSendStringA("open " + driveLetter + ": type CDaudio alias drive" + driveLetter,
returnString, 0, 0);
mciSendStringA("set drive" + driveLetter + " door open", returnString, 0, 0);
Вы можете получить информацию диска (буква, тип и так далее) в PowerShell , используя статический GetDrives метод из DriveInfo класса:
[System.IO.DriveInfo]::GetDrives()
Вот эта версия кода C # для PowerShell:
$Winmm = Add-Type -MemberDefinition @"
[DllImport("winmm.dll", CharSet = CharSet.Ansi)] public static extern int mciSendStringA(string lpstrCommand, string lpstrReturnString, int uReturnLength, IntPtr hwndCallback);
"@ -PassThru -Name mciSendString
# Replace X with your DVD drive letter
$DvdDrive = 'X'
$Winmm::mciSendStringA("open ${DvdDrive}: type CDaudio alias drive$DvdDrive", $null, 0, 0);
$Winmm::mciSendStringA("set drive$DvdDrive door open", $null, 0, 0);