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, 7533 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 ...

Batch & Shell
gelöst Powershell - DISK - Als Administrator ausführen (2)

Frage von StfnCstr zum Thema Batch & Shell ...

Neue Wissensbeiträge
Google Android

Cyanogenmod alternative Downloadquelle

(5)

Tipp von Lochkartenstanzer zum Thema Google Android ...

Batch & Shell

Batch als Dienst bei Systemstart ohne Anmeldung ausführen

(5)

Tipp von tralveller zum Thema Batch & Shell ...

Sicherheits-Tools

Sicherheitstest von Passwörtern für ganze DB-Tabellen

(1)

Tipp von gdconsult zum Thema Sicherheits-Tools ...

Heiß diskutierte Inhalte
LAN, WAN, Wireless
gelöst Statische Routen mit ISC-DHCP Server für Android Devices (22)

Frage von terminator zum Thema LAN, WAN, Wireless ...

Server
gelöst Wie erkennen, dass nur deutsche IPs Zugang zu einer Website haben? (22)

Frage von Coreknabe zum Thema Server ...

Exchange Server
gelöst Migration Exchange 2007 zu 2013 - Public Folder teilweise weg (16)

Frage von Andy1987 zum Thema Exchange Server ...

Outlook & Mail
Outlook 2010 mit Exchange 2016 (15)

Frage von slansky zum Thema Outlook & Mail ...