none
WMI switch Disable/Enable Airplane mode RRS feed

  • Frage

  • Guten Abend,

    Bitte, ich möchte gerne das "Airplane mode" benützen.

    Konnte aber nichts finden.

    Aber für den Wi-Fi (Wireless Mode) als Web-Zugang benütze ich nur eine Kable-Verbindung. Der " $_.name " Name fehlt mir.

    switch mode Disable:
    get-wmiobject -class win32_networkadapter -namespace root\CIMV2 | where-object {$_.Name -match “Wireless”} | % {$_.Disable()} 
    
    switch mode Enable:
    get-wmiobject -class win32_networkadapter -namespace root\CIMV2 | where-object {$_.Name -match “Wireless”} | % {$_.Enable()}
    

    Danke für Ihre Hilfe

    @r

    Donnerstag, 12. März 2020 17:37

Antworten

Alle Antworten

  • Moin,

    das verstehe ich nicht. Dein Code sucht alle Netzwerkkarten, wo im Modellnamen "wireless" vorkommt, und deaktiviert bzw. aktiviert sie. Das ist natürlich nicht das gleiche wie Airplane Mode, da Bluetooth und UMTS anbleiben, aber das (de)aktiviert zumindest das WLAN. Was für ein Anschluss hinter Deinem WLAN-Router steht, ist doch irgendwie irrelevant, oder?

    Ansonsten ist die API für den Airplane Mode recht gut versteckt. Wenn ein Reboot akzeptabel ist, kannst Du in der Registry einfach den Default Wert des Schlüssels HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\RadioManagement\SystemRadioState auf 1 setzen, um Airplane einzuschalten, und auf 0, um es wieder auszuschalten - wie gesagt, mit einem Reboot hinterher. Vielleicht kann man den Prozess weiter reverse-engineeren und irgendeinen Dienst durchstarten...


    Evgenij Smirnov

    http://evgenij.smirnov.de

    Donnerstag, 12. März 2020 19:40
  • Guten Abend

    Danke (Sspassibo) für Ihre Antwort.

    Mit dem "Airplane" Modus gibt es kein Reboot (Nicht notwendig, aber es gibt ein neuse IP), dass macht ja die Sache so Spanend.

    Mit dem Mobile (iPhone) Funzt es auch Prima, aber Händisch :(

    Ihr Angebot (Idee) müsste mit einen Regex zu Bewältigen sein? Können Sie mir das Zeigen?

    Control mit PS:

    $Xip = Get-NetIPAddress

    If ( (Get-NetAdapter -Name 'Ethernet').Status -ne 'Connected' )
        {
    	      Get-NetAdapter | Disable-NetAdapter -Confirm:$false -AsJob | Wait-Job
    	      Enable-NetAdapter -Name 'Wi-Fi'-Confirm:$false
    	      Enable-NetAdapter -Name 'Ethernet 3' -Confirm:$false
          }
    Mit Get-NetAdapter List Status

    Danke, bis Morgen

    @r

    Donnerstag, 12. März 2020 22:43
  • Moin,

    das verstehe ich nicht. Dein Code sucht alle Netzwerkkarten, wo im Modellnamen "wireless" vorkommt, und deaktiviert bzw. aktiviert sie. Das ist natürlich nicht das gleiche wie Airplane Mode, da Bluetooth und UMTS anbleiben, aber das (de)aktiviert zumindest das WLAN. Was für ein Anschluss hinter Deinem WLAN-Router steht, ist doch irgendwie irrelevant, oder?

    Ansonsten ist die API für den Airplane Mode recht gut versteckt. Wenn ein Reboot akzeptabel ist, kannst Du in der Registry einfach den Default Wert des Schlüssels HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\RadioManagement\SystemRadioState auf 1 setzen, um Airplane einzuschalten, und auf 0, um es wieder auszuschalten - wie gesagt, mit einem Reboot hinterher. Vielleicht kann man den Prozess weiter reverse-engineeren und irgendeinen Dienst durchstarten...


    Evgenij Smirnov

    http://evgenij.smirnov.de

    Das wäre eine Lösung des Problèmes:

    (Get-ItemProperty -Path "HKLM:\System\CurrentControlSet\Control\RadioManagement\SystemRadioState").'(default)'

    Die Antwort ist 0 (null)

    Und wie geht das, den Parameter auf 1 (eins) Einstellen?

    Danke

    @r

    Freitag, 13. März 2020 14:07

  • Und wie geht das, den Parameter auf 1 (eins) Einstellen?

    Mit Set-ItemProperty. Aber wie ich bereits schrieb, greift die Änderung erst nach einem Reboot. 

    Evgenij Smirnov

    http://evgenij.smirnov.de

    • Als Antwort markiert arnold_ Freitag, 13. März 2020 18:11
    Freitag, 13. März 2020 14:14

  • Und wie geht das, den Parameter auf 1 (eins) Einstellen?

    Mit Set-ItemProperty. Aber wie ich bereits schrieb, greift die Änderung erst nach einem Reboot. 

    Evgenij Smirnov

    http://evgenij.smirnov.de

    Jetzt habe alles Gefunden, Danke

    @r

    # Position default value 0 (null)
    (Get-ItemProperty -Path "HKLM:\System\CurrentControlSet\Control\RadioManagement\SystemRadioState").'(default)'
    
    # or switch/toggle
    
    Set-ItemProperty -Path "HKLM:\System\CurrentControlSet\Control\RadioManagement" SystemRadioState -Type DWORD -Value 0 –Force
    Set-ItemProperty -Path "HKLM:\System\CurrentControlSet\Control\RadioManagement" SystemRadioState -Type DWORD -Value 1 –Force
    

    Freitag, 13. März 2020 18:09