Re(6): Was ist so toll an einer Linux Shell?
Geizhals » Forum » Linux-Support » Was ist so toll an einer Linux Shell? (33 Beiträge, 2217 Mal gelesen) Top-100 | Fresh-100
Du bist nicht angemeldet. [ Login/Registrieren ]
......
Re(6): Was ist so toll an einer Linux Shell?
16.07.2019, 01:27:07
Getestet nur unter Windows 10:


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

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

switch ($FlightMode) {
       "On" {
            Get-NetAdapter | ? PhysicalMediaType -eq "Native 802.11" | Disable-NetAdapter -Confirm:$false 
            Await ($bluetooth.SetStateAsync("Off")) ([Windows.Devices.Radios.RadioAccessStatus]) | Out-Null
            }
       "Off" {
             Get-NetAdapter | ? PhysicalMediaType -eq "Native 802.11" | Enable-NetAdapter
             Await ($bluetooth.SetStateAsync("On")) ([Windows.Devices.Radios.RadioAccessStatus]) | Out-Null
       }     
}



Den BT-Teil hab ich gut aus dem Netz gestohlen (https://superuser.com/questions/1168551/turn-on-off-bluetooth-radio-adapter-from-cmd-powershell-in-windows-10 ), der WLAN-Adapter ist eh klar.

Ich hab auch leider in keinem Gerät ein WWAN-Modul, aber da könnte beim Get-NetAdapter als PhysicalMediaType "Wireless WAN" zurückkommen.
Es könnte auch sein, dass das von WinRT eh schon zurückkommt und dann so wie "Bluetooth" einfach nur zu filtern ist.

Und nein, das steuert jetzt nicht direkt die Funktion "Airplane mode", Du hast deshalb kein Flugzeug im Systray, aber der Effekt ist der Selbe.

greetz

glockman B-)

- There's no replacement for displacement. Not even Diesel. - ________________________________________________________________

Who is General Failure, and why is he reading my disk?


Diskussion beendet PM Alle Chronologisch Zum Vorgänger
 
Melden nicht möglich
.  Re: Was ist so toll an einer Linux Shell?
 (colo am 16.07.2019, 10:16:40)
.  Re: Was ist so toll an einer Linux Shell?
 (MIMI am 16.07.2019, 11:08:44)
..  Re(2): Was ist so toll an einer Linux Shell?  (MIMI am 16.07.2019, 12:29:42)
..  Re(2): Was ist so toll an einer Linux Shell?  (MIMI am 16.07.2019, 12:32:24)
.  Re: Was ist so toll an einer Linux Shell?
 (Bucho am 19.07.2019, 23:02:51)
. PLONKED von Erinaceidae: Spam   (Aiden001 am 09.09.2019, 13:04:54)
. PLONKED von Erinaceidae: spam   (attentool am 09.12.2019, 07:41:59)
 

Dieses Forum ist eine frei zugängliche Diskussionsplattform.
Der Betreiber übernimmt keine Verantwortung für den Inhalt der Beiträge und behält sich das Recht vor, Beiträge mit rechtswidrigem oder anstößigem Inhalt zu löschen.
Datenschutzerklärung