So schalten Sie Bluetooth unter Win10 beim Start ein und aus

So schalten Sie Bluetooth unter Win10 beim Start ein und aus

Ich habe einen Win10-Laptop, den ich zwischen Zuhause und Arbeit hin- und herbewege. Ich verwende an jedem Standort identische, aber separate Bluetooth-Mäuse. Jedes Mal, wenn ich den Standort wechsle (und damit die Bluetooth-Mäuse wechsle), muss ich in die Einstellungen gehen, um den Bluetooth-„Schalter“ ein- und wieder einzuschalten, damit der Laptop eine Verbindung zur neuen Maus herstellt (obwohl er in der Liste der Bluetooth-Geräte als bereits „gekoppelt“ angezeigt wird). Beachten Sie, dass dies auch nach Neustarts der Fall ist.

Natürlich war mein erster Gedanke, diesen Prozess zu automatisieren, einfach ein Skript zu verwenden, um die Bluetooth-Dienste beim Booten zu aktivieren und das Aus- und Wiedereinschalten des Bluetooth-Schalters auf der Einstellungsseite zu emulieren. Aber anscheinend gelingt es mir nicht, den richtigen Dienst zu identifizieren (falls das tatsächlich der richtige Ansatz ist), um ihn umzuschalten. Ich habe Powershell verwendet, um „bthserv“ und „ibtsiva“ zu stoppen, aber meine Maus funktioniert immer noch einwandfrei, also ist das offensichtlich nicht dasselbe wie das „Ausschalten“ des Bluetooth-Schalters.

PS C:\WINDOWS\system32> get-service -DisplayName *Bluetooth*

Status   Name               DisplayName
------   ----               -----------
Stopped  BluetoothUserSe... Bluetooth User Support Service_3b07...
Stopped  BTAGService        Bluetooth Audio Gateway Service
Stopped  bthserv            Bluetooth Support Service
Stopped  ibtsiva            Intel Bluetooth Service

Gibt es einen anderen Dienst, den ich umschalten sollte? Oder ist der Dienst einfach der völlig falsche Ansatz? Das erzwungene Herunterfahren und Neustarten der Hardware funktioniert jedes Mal, also ist damit definitiv jede Aktion enthalten, die ich ausführen muss. Ich muss nur einen Weg finden, es zu automatisieren. Irgendwelche Hinweise?

Antwort1

Sehen Sie sich diese Fragen und Antworten an …

Bluetooth-Radio/-Adapter über cmd/PowerShell in Windows 10 ein-/ausschalten

[CmdletBinding()] 
Param 
(
    [Parameter(Mandatory=$true)][ValidateSet('Off', 'On')][string]$BluetoothStatus
)

If ((Get-Service bthserv).Status -eq 'Stopped') 
{ Start-Service bthserv }

Add-Type -AssemblyName System.Runtime.WindowsRuntime
$asTaskGeneric = ([System.WindowsRuntimeSystemExtensions].GetMethods() `
| ? { $_.Name -eq 'AsTask' -and $_.GetParameters().Count -eq 1 -and $_.GetParameters()[0].ParameterType.Name -eq 'IAsyncOperation`1' })[0]

Function Await($WinRtTask, $ResultType) 
{
    $asTask = $asTaskGeneric.MakeGenericMethod($ResultType)
    $netTask = $asTask.Invoke($null, @($WinRtTask))
    $netTask.Wait(-1) | Out-Null
    $netTask.Result
}

[Windows.Devices.Radios.Radio,Windows.System.Devices,ContentType=WindowsRuntime] | Out-Null

[Windows.Devices.Radios.RadioAccessStatus,Windows.System.Devices,ContentType=WindowsRuntime] | Out-Null
Await ([Windows.Devices.Radios.Radio]::RequestAccessAsync()) ([Windows.Devices.Radios.RadioAccessStatus]) | Out-Null

$radios = Await ([Windows.Devices.Radios.Radio]::GetRadiosAsync()) ([System.Collections.Generic.IReadOnlyList[Windows.Devices.Radios.Radio]])
$bluetooth = $radios | ? { $_.Kind -eq 'Bluetooth' }

[Windows.Devices.Radios.RadioState,Windows.System.Devices,ContentType=WindowsRuntime] | Out-Null
Await ($bluetooth.SetStateAsync($BluetoothStatus)) ([Windows.Devices.Radios.RadioAccessStatus]) | Out-Null

verwandte Informationen