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, 7346 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
Neuester Wissensbeitrag
Microsoft

Lizenzwiederverkauf und seine Tücken

(5)

Erfahrungsbericht von DerWoWusste zum Thema Microsoft ...

Ähnliche Inhalte
Batch & Shell
Powershell - In Textdatei suchen und ersetzen (5)

Frage von Raaja89 zum Thema Batch & Shell ...

Batch & Shell
gelöst PowerShell Domain Join (2)

Frage von Patrick-IT zum Thema Batch & Shell ...

Batch & Shell
gelöst Powershell Hashtable to Übersichtliche Darstellung (2)

Frage von Marabunta zum Thema Batch & Shell ...

Heiß diskutierte Inhalte
LAN, WAN, Wireless
FritzBox, zwei Server, verschiedene Netze (17)

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

Windows Netzwerk
Windows 10 RDP geht nicht (16)

Frage von Fiasko zum Thema Windows Netzwerk ...

Windows Server
Outlook Verbindungsversuch mit Exchange (15)

Frage von xbast1x zum Thema Windows Server ...