So setzen Sie COM-Portnummern in Windows zurück und bereinigen sie

Die Verwaltung von COM-Ports, insbesondere beim Anschluss mehrerer Geräte oder Bluetooth-Adapter, kann schnell zum Problem werden. Windows vergibt beim Anschließen eines Geräts automatisch COM-Port-Nummern von 1 bis 255 – manchmal werden Dutzende Ports belegt, was die Arbeit mit älteren Anwendungen erschwert, die nur COM1 bis COM9 unterstützen. Das ist ärgerlich, da manche ältere Programme bei einer COM-Port-Nummer über 9 einfach nicht mehr funktionieren, und die Behebung dieses Problems ist nicht immer einfach. Zu wissen, wie man COM-Port-Zuweisungen ändert, freigibt oder zurücksetzt, kann viel Frust ersparen, insbesondere bei Gerätekonflikten oder Treiberproblemen.

So ändern Sie die COM-Portnummer eines Geräts in Windows

Anpassen des COM-Ports über den Geräte-Manager

Dies ist der erste Schritt, den Sie versuchen sollten, wenn Ihnen die Portzuweisung Ihres Geräts nicht zusagt oder Sie diese nicht nutzen können. Er funktioniert, sofern der Port nicht bereits stark ausgelastet oder reserviert ist. Manchmal können Sie unter Windows einen neuen Port auswählen. Falls dies nicht möglich ist, ist der Port belegt oder reserviert – dann müssen Sie möglicherweise weitere Schritte unternehmen (siehe unten).

  • Öffnen Sie den Geräte-Manager – dies können Sie tun, indem Sie ihn devmgmt.mscin das Ausführen-Feld eingeben ( Win + R) oder indem Sie im Startmenü danach suchen.
  • Im Menü wählen Sie Ansicht -> Ausgeblendete Geräte anzeigen – denn manchmal ist Ihr Gerät nicht vollständig sichtbar, wenn Sie dies nicht tun.
  • Scrollen Sie nach unten zu Anschlüsse (COM & LPT), erweitern Sie den Eintrag und suchen Sie Ihr Gerät. Falls mehrere Einträge angezeigt werden, wählen Sie den Eintrag aus, der zu Ihrem Gerät gehört.
  • Klicken Sie mit der rechten Maustaste auf Ihr Gerät, wählen Sie Eigenschaften, gehen Sie dann zur Registerkarte Port-Einstellungen und tippen Sie auf Erweitert.
  • Die aktuelle COM-Port-Nummer finden Sie im Dropdown-Menü COM-Port-Nummer. Falls es sich um eine zu hohe Nummer handelt, versuchen Sie, sie in eine niedrigere Nummer zu ändern (z. B.COM3 oder COM5).

Ob Windows die Auswahl eines niedrigeren Ports zulässt, ist etwas Glückssache. Manchmal lässt sich der Port im Dropdown-Menü nicht ändern, wenn er bereits belegt oder reserviert ist. In diesem Fall müssen Sie die Portreservierung aufheben (siehe unten).

COM-Ports mit dem Geräte-Manager freigeben oder freischalten

  • Erweitern Sie erneut den Abschnitt Ports (COM & LPT), suchen Sie den Port, den Sie freigeben möchten, und achten Sie auf das blasse Symbol (was bedeutet, dass der Port reserviert, aber nicht verbunden ist).
  • Klicken Sie mit der rechten Maustaste auf den entsprechenden Port und wählen Sie Deinstallieren. Keine Sorge, dadurch wird der Treiber nicht entfernt, sondern lediglich die COM-Nummer freigegeben.
  • Nach der Deinstallation müssen Sie Ihr Gerät erneut anschließen oder den Port über Erweitert in den Geräteeigenschaften neu konfigurieren, um einen freien COM-Port zuzuweisen.

Falls das nicht funktioniert – denn manchmal gibt Windows den Port nicht direkt frei – gibt es eine praktische Methode mit PowerShell, um alle belegten COM-Ports aufzulisten:

Get-WMIObject Win32_SerialPort | Select-Object Name, DeviceID, Description

Oder Sie können die Suche auf bestimmte Geräte eingrenzen, beispielsweise wenn Sie den Gerätenamen kennen:

Get-WMIObject Win32_SerialPort | Where-Object { $_. Name -like "*Bluetooth*" } | Select-Object Name, DeviceID

Dies gibt Ihnen einen schnellen Überblick über die angeschlossenen Geräte. Nicht alle Ports sind belegt, einige lassen sich jedoch ohne weitere Schritte nur schwer freigeben.

Finden Sie heraus, welcher Prozess Ihren COM-Port blockiert.

Wenn ein Prozess oder Treiber einen COM-Port aktiv nutzt, lässt Windows ihn nicht einfach neu zuweisen oder deinstallieren. Sie müssen den Prozess finden und beenden. Das beste Tool dafür ist Process Explorer von Sysinternals. Für solche Fälle ist er unverzichtbar.

Schritt eins: Öffnen Sie PowerShell und führen Sie folgenden Befehl aus:

get-pnpdevice -class Ports -ea 0 | Select Name, PNPDeviceID, Status, Service

Hier erfahren Sie, welches Gerät angeschlossen ist. In der Spalte Dienst steht möglicherweise Seriell oder etwas Ähnliches. Starten Sie dann den Prozess-Explorer als Administrator ( hier ist der Link ) und klicken Sie auf Suchen -> Handle oder DLL suchen. Geben Sie den zuvor ermittelten Dienstnamen ein (z. B.„Seriell“, „USB-Sender“ usw.).

Der Prozess-Explorer findet heraus, welche Anwendung oder welcher Treiber den Port blockiert. Um den COM-Port vollständig freizugeben, müssen Sie den entsprechenden Prozess möglicherweise beenden oder neu starten oder die Treiberkonfiguration anpassen. Das ist zwar etwas umständlich, funktioniert aber in hartnäckigen Fällen.

Zurücksetzen der COM-Port-Zuweisungen in der Registrierung

Für eine gründliche Bereinigung enthält die Registry die Schlüssel, die festlegen, welche COM-Ports reserviert sind. Ehrlich gesagt ist es keine gute Idee, die Registry zu bearbeiten, es sei denn, man ist damit bestens vertraut – ein kleiner Fehler kann zu Bluescreens führen. Wenn aber alles andere fehlschlägt, ist es der letzte Ausweg.

  • Öffnen Sie regedit, indem Sie regedit.exeden Befehl im Ausführen-Fenster ausführen.
  • Gehen Sie zu HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\COM Name Arbiter. Stellen Sie sicher, dass Sie diesen Schlüssel vorher sichern (Datei -> Exportieren).
  • Suchen Sie den ComDB-Wert – es handelt sich um Binärdaten. Sie können diesen Wert mit Vorsicht bearbeiten. Wenn Sie beispielsweise alle Ports freigeben müssen, können Sie durch Setzen dieses Werts auf 0 Reservierungen zurücksetzen. Beachten Sie jedoch, dass eine unbedachte Bearbeitung zu einem Bluescreen führen kann, wenn Sie zusätzliche Bits hinzufügen.
  • Ein weiterer zu überprüfender Schlüssel ist HKEY_LOCAL_MACHINE\SYSTEM\HARDWARE\DEVICEMAP\SERIALCOMM. Wenn eine Verbindung besteht, werden hier die aktiven Ports in lesbarer Form aufgelistet.
  • Sie können bei Bedarf einzelne Port-Einträge aus den Ports oder Reservierungsinformationen entfernen und anschließend Ihren PC neu starten, um die Änderungen anzuwenden.

Zur Bereinigung von Geräten eignet sich das Gerätebereinigungstool, das verwaiste Geräteeinträge aus der Registrierung entfernt und alte Geräte trennt, die möglicherweise unnötigerweise COM-Ports belegen ( siehe GitHub-Repository ).Beachten Sie jedoch, dass es nicht offiziell von Microsoft unterstützt wird. Sichern Sie Ihre Daten daher unbedingt vorher!

Zusammenfassung

Die Verwaltung von COM-Ports kann schnell unübersichtlich werden, insbesondere nach dem Anschluss mehrerer serieller oder Bluetooth-Geräte. Ob durch Anpassen der Portnummern im Geräte-Manager, Freigeben von Ports über PowerShell oder Bearbeiten der Registry – diese Methoden helfen, das Chaos zu bändigen. Nicht jede Lösung funktioniert auf Anhieb, und manchmal weigert sich Windows einfach, einen Port freizugeben – dann ist Geduld gefragt oder man muss tiefer in die Registry eingreifen.

Zusammenfassung

  • Versuchen Sie zunächst, den COM-Port über den Geräte-Manager zu ändern – dies ist jedoch nicht immer möglich, wenn Ports belegt sind.
  • Falls erforderlich, können Sie mit PowerShell-Befehlen die reservierten COM-Ports freigeben oder herausfinden, wer sie belegt.
  • Verwenden Sie den Prozess-Explorer, um herauszufinden, welcher Prozess den Port blockiert, und schließen Sie ihn gegebenenfalls.
  • In hartnäckigen Fällen bearbeiten Sie die Registrierung vorsichtig, um die COM-Port-Zuweisungen zurückzusetzen.

Abschluss

Die Behebung von COM-Port-Problemen ist lästig, aber diese Schritte sollten die meisten Fälle abdecken. Manchmal reicht es schon, Ports freizugeben oder die Zuweisungen zu ändern, ohne in die Registry einzugreifen. Wenn alles andere fehlschlägt, kann ein Neustart oder die Neuinstallation des Treibers helfen. Wichtig: Erstellen Sie immer ein Backup, bevor Sie Änderungen an der Registry vornehmen – Windows macht das Ändern dieser Zuweisungen unnötig kompliziert. Hoffentlich hilft das dem einen oder anderen, der mit belegten COM-Ports zu kämpfen hat. Diese Lösung hat sich bei mehreren Systemen bewährt.