Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

Öffnen und Schließen von CD- und DVD-Laufwerken via Powershell ohne externe Tools.

Tipp Entwicklung Batch & Shell

Mitglied: colinardo

colinardo (Level 5) - Jetzt verbinden

17.10.2013, aktualisiert 19:37 Uhr, 7614 Aufrufe, 3 Danke

Eine Powershell-Funktion zum Öffnen und Schließen des CD/DVD-Trays

Diese Funktion ermöglicht es euch ein CD/DVD-Laufwerk mit einem Powershell-Script zu öffnen und zu schließen, ohne dafür Zusatztools verwenden zu müssen. Es nutzt dazu eine Win32 Funktion in der DLL winmm.dll.

Hinweis: Benötigt mindestens PowerShell 2.0.

01.
<# 
02.
--------------------------------------------------------- 
03.
- Function to open and close CD/DVD-Drive by drive letter 
04.
- by @colinardo (http://www.administrator.de) 
05.
--------------------------------------------------------- 
06.
#> 
07.
function initCDROM() { 
08.
    [String]$SourceCode = @" 
09.
Namespace colinardo.cdrom 
10.
    Public Class MyFunctions 
11.
        Declare Function mciSendString Lib "winmm.dll" Alias "mciSendStringA" (ByVal lpszCommand As String, ByVal lpszReturnString As String, ByVal cchReturnLength As Long, ByVal hwndCallback As Long) As Long 
12.
 
13.
        Public Shared Function OpenDoor(device As String) As Long 
14.
            Dim cmd As Long = mciSendString("open " & device & " type cdaudio alias CD wait shareable", 0, 0, 0) 
15.
            If cmd <> 0 Then 
16.
                Dim cmd2 As Long = mciSendString("set CD door open", 0, 0, 0) 
17.
                mciSendString("close CD", 0, 0, 0) 
18.
                Return cmd2 
19.
            Else 
20.
                Return cmd 
21.
            End If 
22.
        End Function 
23.
        Public Shared Function CloseDoor(device As String) As Long 
24.
            Dim cmd As Long = mciSendString("open " & device & " type cdaudio alias CD wait shareable", 0, 0, 0) 
25.
            If cmd <> 0 Then 
26.
                Dim cmd2 As Long = mciSendString("set CD door closed", 0, 0, 0) 
27.
                mciSendString("close CD", 0, 0, 0) 
28.
                Return cmd2 
29.
            Else 
30.
                Return cmd 
31.
            End If 
32.
        End Function 
33.
    End Class 
34.
End Namespace 
35.
"@ 
36.
 add-type -TypeDefinition $SourceCode -Language VisualBasic 
37.
38.
 
39.
#Benutzerdefinierten .Net-Code laden (Hinweis: Die Type-Definition dar nur einmal in einer Session geladen werden) 
40.
initCDROM 
41.
 
42.
echo "Öffne das Laufwerk F:" 
43.
#Hiermit öffnet man ein Laufwerk mit dem jeweiligen Laufwerksbuchstaben 
44.
[colinardo.cdrom.MyFunctions]::OpenDoor("F:") 
45.
 
46.
echo "Schließe das Laufwerk F:" 
47.
#Hiermit schließt man ein Laufwerk mit dem jeweiligen Laufwerksbuchstaben 
48.
[colinardo.cdrom.MyFunctions]::CloseDoor("F:")
Kommentare wie man ein Laufwerk öffnet und schließt stehen im Code.

Happy Coding ...

Grüße @colindaro
Ähnliche Inhalte
Festplatten, SSD, Raid
Ich kann meine externe Festplatte nicht mehr öffnen! (22)

Frage von MikeMueller zum Thema Festplatten, SSD, Raid ...

Microsoft
gelöst PowerShell: CSV in CSV kopieren (3)

Frage von Pludan zum Thema Microsoft ...

Batch & Shell
PowerShell-Script zum Prüfen ob Datei(en) existieren (2)

Frage von Bonsai0815 zum Thema Batch & Shell ...

Batch & Shell
gelöst Powershell net 3.5 Installation silent (2)

Frage von Marabunta zum Thema Batch & Shell ...

Neue Wissensbeiträge
Tipps & Tricks

Wie Hackt man sich am besten in ein Computernetzwerk ein

(29)

Erfahrungsbericht von Herbrich19 zum Thema Tipps & Tricks ...

Humor (lol)

Bester Vorschlag eines Supporttechnikers ever: APC

(15)

Erfahrungsbericht von DerWoWusste zum Thema Humor (lol) ...

Windows Server

Exchange 2010 Active Directory und Windows Server 2016

(4)

Erfahrungsbericht von Herbrich19 zum Thema Windows Server ...

Heiß diskutierte Inhalte
Internet
gelöst Mitarbeiter surft auf unerwünschter Seite - Wie damit umgehen? (50)

Frage von sabines zum Thema Internet ...

Netzwerke
LAN2LAN Verbindung sehr langsam flaschenhals gesucht (27)

Frage von PixL86 zum Thema Netzwerke ...

Router & Routing
PFsense - Netzverbindung steht, aber kein Internet vorhanden (24)

Frage von aschmid zum Thema Router & Routing ...

Windows Server
gelöst Windows 2016 Hyper-V und VHDS (19)

Frage von emeriks zum Thema Windows Server ...