Beim Herunterfahren automatisch auf lautlos stellen: Unterschied zwischen den Versionen

Aus ThinkPad-Wiki
(Die Seite wurde neu angelegt: <div>Gerade Besitzer eines T43 oder X41 haben dank der von IBM konzipierten und verbauten SATA-to-IDE-Bridge nicht nur das Problem nur noch wenige aktuelle Festplatten ...)
 
 
(17 dazwischenliegende Versionen von 3 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
<div>Gerade Besitzer eines T43 oder X41 haben dank der von IBM konzipierten und verbauten SATA-to-IDE-Bridge nicht nur das Problem nur noch wenige aktuelle Festplatten mit entsprechend großer Kapazität zu finden. Durch eine Routine im BIOS dieser Modelle wird das verwendete Laufwerk beim Start auf eine von IBM freigegebene Firmware überprüft. Wird eine solche Firmware nicht vorgefunden, quittiert dies das BIOS je nach Einstellung mit einem Pieps-Ton oder bricht den Start ganz und gar ab. Trotz dieser Fehlermeldung, dem berühmten "Error 2010", arbeitet das ThinkPad einwandfrei. Allein das Warnsignal während des Hochfahrens stört den Benutzer und es kommt schnell der Wunsch auf, das Notebook zumindest für die Startphase zum Schweigen zu bringen.</div><br>
<div>Besitzer eines R52, T43, T43p, X41 oder X41 Tablet haben dank der von IBM konzipierten und verbauten SATA-to-IDE-Bridge nicht nur das Problem nur noch wenige aktuelle Festplatten mit entsprechend großer Kapazität zu finden. Durch eine Routine im BIOS dieser Modelle wird das verwendete Laufwerk beim Start auf eine von IBM freigegebene Firmware überprüft. Wird eine solche Firmware nicht vorgefunden, quittiert dies das BIOS je nach Einstellung mit einem Pieps-Ton oder bricht den Start ganz und gar ab. Trotz dieser Fehlermeldung, dem berühmten "Error 2010", arbeitet das ThinkPad einwandfrei. Allein das Warnsignal während des Hochfahrens stört den Benutzer und es kommt schnell der Wunsch auf, das Notebook zumindest für die Startphase zum Schweigen zu bringen. Dieser Artikel behandelt zwei mögliche und einfache Lösungen.</div>
<div>Für diese Aufgabe gibt es ein kleines und nützliches Tool: [http://www.nirsoft.net/utils/nircmd.html Nircmd].Einfach die verlinkte ZIP-Datei herunterladen und in einem Verzeichnis seiner Wahl entpacken. Für das Ein- bzw. Ausschalten des Tons können folgende Befehle genutzt werden:</div><br>
<div>
{|
| Mute the system volume
| &nbsp;
| <code>nircmd.exe mutesysvolume 0</code>
|-
| Unmute the system volume
| &nbsp;
| <code>nircmd.exe mutesysvolume 1</code>
|}</div><br>


<div>Der jeweilige Befehl muss nur in ein CMD-Skript geschrieben werden. Dazu legt man eine Datei mit beliebigem Namen und der Endung <code>.cmd</code> an. Dann diese Datei per ''gpedit.msc'', einfach unter ''Start'' -> ''Ausführen...'' eingeben, in die Gruppenrichtlinien unter ''Richtlinien für Lokaler Computer'' -> ''Computerkonfiguration'' -> ''Windows-Einstellungen'' -> ''Scripts(Start/Herunterfahren)'' -> ''Starten'' oder ''Herunterfahren'' eintragen.</div><br>
== Die Lösung mit NirCmd ==
=== Was man braucht ===


<div>Die Skripte für das An- und Ausschalten müssen leider ''Windows'' abhängig im jeweiligen Ordner für die Start- und Herunterfahren-Skrpte liegen, also unter <code>%SYSTEMROOT%\system32\GroupPolicy\Machine\Scripts\Startup</code> für den Start bzw. <code>%SYSTEMROOT%\system32\GroupPolicy\Machine\Scripts\Shutdown</code> für das Herunterfahren. Die Datei könnte zum Beispiel so aussehen:</div><br>
[[Bild:Shutdown_link.jpg|thumb|260px|Die Shutdown-Verknüpfung auf dem Desktop.]]
<div><code>REM Inhalt der mute.cmd</code><br>
<code>DEIN_WUNSCHPFAD\nircmd\nircmd.exe mutesysvolume %1</code></div><br>


<div>In diesem Fall wird mit <code>mute 1</code> das System stumm geschaltet, mit <code>mute 0</code> dementsprechend der Sound wieder aktiviert. Einfach die entsprechende Ziffer im Dialog als Parameter angeben.</div>
<div>Als erstes das Tool [http://www.nirsoft.net/utils/nircmd.html Nircmd]. Ohne dieses oder ähnliche Tools kann der Ton über die Komandozeile nicht bewußt nur ein- oder eben nur ausschalten werden.</div>
 
<div>Dann zwei VBS-Skripte: Eins wird in den Autostart kopiert (''automute.vbs'') oder eben dorthin verlinkt (Das ist die übersichtlichere Variante).</div>
<div>Das Zweite (''shutdown.vbs'') wird auf den Desktop kopiert oder auch hier verknüpft.
Nun muss man sich als Benutzer nur daran gewöhnen, den Rechner über diese Verknüpfung herunterzufahren.</div>
<div>Um die Skripte für alles Benutzer auf dem Rechner arbeiten zu lassen, legt man diese unter ''All Users'' ab oder verknüpft sie in diesem Profil. Unter Windows XP sind das die Ordner
C:\Dokumente und Einstellungen\All Users\Startmenü\Programme\Autostart\
für die Datei ''automute.vbs'' und
C:\Dokumente und Einstellungen\All Users\Desktop\
für ''shutdown.vbs''.</div>
 
=== Die Skripte ===
 
Bei diesen Skripten handelt es sich um ''Visual Basic Scripts (VBS)''. Sie nutzen den von Hause aus in Windows schon vorhandenen ''Windows Scripting Host (WSH)''. Die Dateien können einfach mit einem Texteditor erstellt und abgespeichert werden. Wichtig ist nur, dass sie die Endung ''.vbs'' erhalten. Dazu sollte auch bekannte Dateieindungen vom Betriebssystem angezeigt werden ([http://www.netzwelt.de/news/78368-tipps-tricks-thema-dateiendungen.html siehe hier]).
 
''automute.vbs''
'********************************************************************
' Logon script with MUTE OFF
'
' Version : 1.2b (09-07-02)
' author : buergernb
'
' Dieses Script setzt das Tool NIRCMD im Pfad "C:\automute" voraus.
' NIRCMD: http://www.nirsoft.net/utils/nircmd.html
'
' Einfach diese VBS-Datei in den Autostart kopieren oder verknüpfen.
'********************************************************************
&nbsp;
&nbsp;
'Erforderlicher Aufruf für eine Shellumgebung.
'------------------------------------------
Set oShell = CreateObject("WScript.Shell")
&nbsp;
&nbsp;
'Schaltet den Ton ein.
'-------------------------------------------------
oShell.Run "C:\automute\nircmd.exe mutesysvolume 0"
&nbsp;
&nbsp;
'Trigger, der die Windows Eventschleife "abhört".
'Dabei wartet er auf ein Event vom Typ
'"Win32_PowerManagementEvent".
'-------------------------------------------------
Set colMonitoredEvents = GetObject("winmgmts:")._
ExecNotificationQuery("Select * from Win32_PowerManagementEvent")
&nbsp;
&nbsp;
'Die Schleife zur Verarbeitung dieses Events.
'Gibt Win32_PowerManagementEvent die Zahl 4 zurück,
'ist der Rechner im Begriff in den Standby- oder
'Hibernate-Modus zu gehen. Also wird der Sound  
'ausgeschaltet. Gibt es die Zahl 7 zurück, wacht der
'Rechner gerade auf und der Ton wird nach einer best.
'Wartezeit (hier 8000 Millisekunden) wieder eingeschaltet. 
'---------------------------------------------------
Do
&nbsp;&nbsp; Set objLatestEvent = colMonitoredEvents.NextEvent
&nbsp;
&nbsp;&nbsp; Select Case objLatestEvent.EventType
&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp; Case 4
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; oShell.Run "C:\automute\nircmd.exe mutesysvolume 1", , false
&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp; Case 7
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; wscript.sleep 8000
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; oShell.Run "C:\automute\nircmd.exe mutesysvolume 0", , false
&nbsp;
&nbsp;&nbsp; End Select
Loop
 
''shutdown.vbs''
'********************************************************************
' Shutdown script with AUTOMUTE
'
' Version : 1.2b (09-07-02)
' author : buergernb
'
' Dieses Script setzt das Tool NIRCMD im Pfad "C:\automute" voraus.
' NIRCMD: http://www.nirsoft.net/utils/nircmd.html
'********************************************************************
&nbsp;
&nbsp;
'Erforderlicher Aufruf für eine Shellumgebung.
'------------------------------------------
Set oShell = CreateObject("WScript.Shell")
&nbsp;
&nbsp;
'Schaltet den Ton ab.
'-------------------------------------------------
oShell.Run "C:\automute\nircmd.exe mutesysvolume 1"
&nbsp;
&nbsp;
'Hier wird das Herunterfahren um 1 s verzögert. Die Zahl
'hinter dem Schalter "-t" kann ist Wartezeit in Sekunden. Sie
'kann zwischen 0 und 600 (Sekunden) variieren.
'-------------------------------------------------------------
oShell.Run "%systemroot%\system32\shutdown.exe -s -t 00 -f"
 
== Die Lösung mit AutoMute ==
 
Eine weitere Lösung besteht darin, die freie Software [http://auto-mute.com/ Auto Mute] zu verwenden. Diese Lösung ist weniger umständlich als die Lösung mit NirCmd und vermeidet die mit NirCmd einhergehende ungewünschte crapware (wenn ich mich richtig erinnere, ich hatte diese Lösung auch mal probiert). Die Lösung mit Auto Mute hat sich bei mir seit langem hervorragend bewährt.


== Links ==
== Links ==
[http://www.nirsoft.net/ Herstellerseite des Tools ''Nircmd'']
[http://www.nirsoft.net/ Herstellerseite des Tools ''Nircmd'']
[http://support.microsoft.com/kb/188135 Beschreibung des ''Microsoft Windows Scripting Hosts (WSH)'']
[http://www.netzwelt.de/news/78368-tipps-tricks-thema-dateiendungen.html Bekannte Dateiendungen einblenden - Artikel auf ''Netzwelt.de'']
[[Kategorie:Windows]][[Kategorie:HowTo]]

Aktuelle Version vom 7. November 2012, 17:49 Uhr

Besitzer eines R52, T43, T43p, X41 oder X41 Tablet haben dank der von IBM konzipierten und verbauten SATA-to-IDE-Bridge nicht nur das Problem nur noch wenige aktuelle Festplatten mit entsprechend großer Kapazität zu finden. Durch eine Routine im BIOS dieser Modelle wird das verwendete Laufwerk beim Start auf eine von IBM freigegebene Firmware überprüft. Wird eine solche Firmware nicht vorgefunden, quittiert dies das BIOS je nach Einstellung mit einem Pieps-Ton oder bricht den Start ganz und gar ab. Trotz dieser Fehlermeldung, dem berühmten "Error 2010", arbeitet das ThinkPad einwandfrei. Allein das Warnsignal während des Hochfahrens stört den Benutzer und es kommt schnell der Wunsch auf, das Notebook zumindest für die Startphase zum Schweigen zu bringen. Dieser Artikel behandelt zwei mögliche und einfache Lösungen.

Die Lösung mit NirCmd

Was man braucht

Die Shutdown-Verknüpfung auf dem Desktop.
Als erstes das Tool Nircmd. Ohne dieses oder ähnliche Tools kann der Ton über die Komandozeile nicht bewußt nur ein- oder eben nur ausschalten werden.
Dann zwei VBS-Skripte: Eins wird in den Autostart kopiert (automute.vbs) oder eben dorthin verlinkt (Das ist die übersichtlichere Variante).
Das Zweite (shutdown.vbs) wird auf den Desktop kopiert oder auch hier verknüpft. Nun muss man sich als Benutzer nur daran gewöhnen, den Rechner über diese Verknüpfung herunterzufahren.
Um die Skripte für alles Benutzer auf dem Rechner arbeiten zu lassen, legt man diese unter All Users ab oder verknüpft sie in diesem Profil. Unter Windows XP sind das die Ordner
C:\Dokumente und Einstellungen\All Users\Startmenü\Programme\Autostart\

für die Datei automute.vbs und

C:\Dokumente und Einstellungen\All Users\Desktop\
für shutdown.vbs.

Die Skripte

Bei diesen Skripten handelt es sich um Visual Basic Scripts (VBS). Sie nutzen den von Hause aus in Windows schon vorhandenen Windows Scripting Host (WSH). Die Dateien können einfach mit einem Texteditor erstellt und abgespeichert werden. Wichtig ist nur, dass sie die Endung .vbs erhalten. Dazu sollte auch bekannte Dateieindungen vom Betriebssystem angezeigt werden (siehe hier).

automute.vbs

'********************************************************************
' Logon script with MUTE OFF
'
' Version	: 1.2b (09-07-02)
' author	: buergernb
'
' Dieses Script setzt das Tool NIRCMD im Pfad "C:\automute" voraus.
' NIRCMD: http://www.nirsoft.net/utils/nircmd.html
'
' Einfach diese VBS-Datei in den Autostart kopieren oder verknüpfen.
'********************************************************************
 
 
'Erforderlicher Aufruf für eine Shellumgebung.
'------------------------------------------
Set oShell = CreateObject("WScript.Shell")
 
 
'Schaltet den Ton ein.
'-------------------------------------------------
oShell.Run "C:\automute\nircmd.exe mutesysvolume 0"
 
 
'Trigger, der die Windows Eventschleife "abhört".
'Dabei wartet er auf ein Event vom Typ
'"Win32_PowerManagementEvent".
'-------------------------------------------------
Set colMonitoredEvents = GetObject("winmgmts:")._
ExecNotificationQuery("Select * from Win32_PowerManagementEvent") 
 
 
'Die Schleife zur Verarbeitung dieses Events.
'Gibt Win32_PowerManagementEvent die Zahl 4 zurück, 
'ist der Rechner im Begriff in den Standby- oder 
'Hibernate-Modus zu gehen. Also wird der Sound 
'ausgeschaltet. Gibt es die Zahl 7 zurück, wacht der
'Rechner gerade auf und der Ton wird nach einer best. 
'Wartezeit (hier 8000 Millisekunden) wieder eingeschaltet.  
'---------------------------------------------------
Do
   Set objLatestEvent = colMonitoredEvents.NextEvent
 
   Select Case objLatestEvent.EventType
 
     Case 4
       oShell.Run "C:\automute\nircmd.exe mutesysvolume 1", , false
 
     Case 7
       wscript.sleep 8000
       oShell.Run "C:\automute\nircmd.exe mutesysvolume 0", , false
 
   End Select
Loop

shutdown.vbs

'********************************************************************
' Shutdown script with AUTOMUTE
'
' Version	: 1.2b (09-07-02)
' author	: buergernb
'
' Dieses Script setzt das Tool NIRCMD im Pfad "C:\automute" voraus.
' NIRCMD: http://www.nirsoft.net/utils/nircmd.html
'********************************************************************
  
 
'Erforderlicher Aufruf für eine Shellumgebung.
'------------------------------------------
Set oShell = CreateObject("WScript.Shell")
 
 
'Schaltet den Ton ab.
'-------------------------------------------------
oShell.Run "C:\automute\nircmd.exe mutesysvolume 1"
 
 
'Hier wird das Herunterfahren um 1 s verzögert. Die Zahl 
'hinter dem Schalter "-t" kann ist Wartezeit in Sekunden. Sie 
'kann zwischen 0 und 600 (Sekunden) variieren.
'-------------------------------------------------------------
oShell.Run "%systemroot%\system32\shutdown.exe -s -t 00 -f"

Die Lösung mit AutoMute

Eine weitere Lösung besteht darin, die freie Software Auto Mute zu verwenden. Diese Lösung ist weniger umständlich als die Lösung mit NirCmd und vermeidet die mit NirCmd einhergehende ungewünschte crapware (wenn ich mich richtig erinnere, ich hatte diese Lösung auch mal probiert). Die Lösung mit Auto Mute hat sich bei mir seit langem hervorragend bewährt.

Links

Herstellerseite des Tools Nircmd

Beschreibung des Microsoft Windows Scripting Hosts (WSH)

Bekannte Dateiendungen einblenden - Artikel auf Netzwelt.de