DVD Eject mit Win PE
Hallo ich suche einen Script mit dem ich zb. über die Powershell die DVD auswerfen lassen kann. in win 7 und 8
bitte um hilfe
der Trick mit dem mediapl. geht an dieser stelle nicht.
hoffe es kann mir wer helfen danke schon mal vorab.
bitte um hilfe
der Trick mit dem mediapl. geht an dieser stelle nicht.
hoffe es kann mir wer helfen danke schon mal vorab.
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 219549
Url: https://administrator.de/forum/dvd-eject-mit-win-pe-219549.html
Ausgedruckt am: 23.12.2024 um 15:12 Uhr
10 Kommentare
Neuester Kommentar
Hallo,
http://lmgtfy.com/?q=powershell+eject+dvd
Versuchs mal mit den Unmengen von Suchergebnissen, ich denke da sollte doch was funktionieren
Gruß
Xolger
http://lmgtfy.com/?q=powershell+eject+dvd
Versuchs mal mit den Unmengen von Suchergebnissen, ich denke da sollte doch was funktionieren
Gruß
Xolger
Hallo SaintWolf,
du kannst folgendes machen.
Vorraussetzung sind aber mindestens Powershell 2.0 (weiß grad nicht ob das in Windows PE integrierbar ist) und aktivierte NET-Erweiterungen im Windows PE Image.
ansonsten bau dir mit AutoIT eine EXE:
Beispiel:
Grüße Uwe
du kannst folgendes machen.
Vorraussetzung sind aber mindestens Powershell 2.0 (weiß grad nicht ob das in Windows PE integrierbar ist) und aktivierte NET-Erweiterungen im Windows PE Image.
<#
-----------------------------------------------------------------------
- Function to open and close specific CD/DVD-Drive
- by @colinardo (https://administrator.de)
-----------------------------------------------------------------------
#>
function initCDROM() {
[String]$SourceCode = @"
Namespace colinardo.cdrom
Public Class MyFunctions
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
Public Shared Function OpenDoor(device As String) As Long
Dim cmd As Long = mciSendString("open " & device & " type cdaudio alias CD wait shareable", 0, 0, 0)
If cmd <> 0 Then
Dim cmd2 As Long = mciSendString("set CD door open", 0, 0, 0)
mciSendString("close CD", 0, 0, 0)
Return cmd2
Else
Return cmd
End If
End Function
Public Shared Function CloseDoor(device As String) As Long
Dim cmd As Long = mciSendString("open " & device & " type cdaudio alias CD wait shareable", 0, 0, 0)
If cmd <> 0 Then
Dim cmd2 As Long = mciSendString("set CD door closed", 0, 0, 0)
mciSendString("close CD", 0, 0, 0)
Return cmd2
Else
Return cmd
End If
End Function
End Class
End Namespace
"@
add-type -TypeDefinition $SourceCode -Language VisualBasic
}
#Benutzerdefinierten .Net-Code laden (Hinweis: Die Type-Definition dar nur einmal in einer Session geladen werden)
initCDROM
echo "Öffne das Laufwerk F:"
#Hiermit öffnet man ein Laufwerk mit dem jeweiligen Laufwerksbuchstaben
[colinardo.cdrom.MyFunctions]::OpenDoor("F:")
echo "Schließe das Laufwerk F:"
#Hiermit schließt man ein Laufwerk mit dem jeweiligen Laufwerksbuchstaben
[colinardo.cdrom.MyFunctions]::CloseDoor("F:")
Beispiel:
#AutoIt3Wrapper_Change2CUI=y
if $CmdLine = 2 Then
$laufwerk = $CmdLine[1]
$funktion = $CmdLine[2]
if DriveGetType($laufwerk) <> "" and ($funktion = "open" or $funktion = "close") then
if cdtray($laufwerk,$funktion) = 1 Then
exit 0
Else
ConsoleWriteError("Unspecified Error")
exit 1
endif
Else
ConsoleWriteError("Fehler in Parametern oder Laufwerk nicht verfügbar!" & @lf & "Syntax: tray.exe [Laufwerk] [open] | [close]")
exit 1
EndIf
Else
ConsoleWriteError("Kein Laufwerksparameter angegeben!" & @lf & "Syntax: tray.exe [Laufwerk] [open] | [close]")
exit 1
EndIf
Grüße Uwe
Zitat von @Saintwolf:
powershell kann man als Zusatz zu der PE in´s pack aufnehmen will das dann gleich mal testen..
Das weis ich, aber PS Version 2.0 lässt sich anscheinend nicht integrieren.powershell kann man als Zusatz zu der PE in´s pack aufnehmen will das dann gleich mal testen..
noch eine frage dazu ist es bei dem Script egal wie viele LW man hat da es vorkommt das ein PC 2 LW hat, hoffe dann öffnen
sich beide.
Dafür muss man eine andere Funktion namens "MCISendCommand" mit erweiterten Parametern nutzen. Werde das hier noch posten..sich beide.
Denke das du aber um ein Utility nicht herumkommen wirst...
Aber das sollte ja kein Problem darstellen..
Grüße Uwe
Zitat von @Saintwolf:
hi Uwe hab nun deinen script testen können unterm normalem Win pc geht es super, wenn ich dann mit der pe mit Powershell
starte.den ich auf die PE-CD copiert habe, wird der script ausgeführt allerdings ohne das sich das LW bewegt ....
Wie ich oben bereits geschrieben habe liegt das daran das auf einer Windows PE CD nur Powershell 1.0 geht .... und das Script erfordert leider mind. Powershell 2.0 !hi Uwe hab nun deinen script testen können unterm normalem Win pc geht es super, wenn ich dann mit der pe mit Powershell
starte.den ich auf die PE-CD copiert habe, wird der script ausgeführt allerdings ohne das sich das LW bewegt ....