1 votes

Comment activer ou désactiver l'état de la radio logicielle Wi-Fi avec PowerShell

Comment puis-je activer/désactiver le statut de la radio logicielle sous Windows 11 ? Voici l'état de mon Wi-Fi :

Netsh WLAN show interfaces

There is 1 interface on the system:

    Name                   : Wi-Fi
    Description            : Killer Wireless-n/a/ac Wireless Network Adapter
    GUID                   : xx
    Physical address       : xx
    Interface type         : Primary
    State                  : disconnected
    Radio status           : Hardware On
                             Software Off

    Hosted network status  : Not available

C'est le paramètre de Windows 11 : enter image description here

J'ai essayé les commandes Enable-NetAdapter y Disable-NetAdapter mais ces commandes concernent des interfaces réseau spécifiques, et non la désactivation du WiFi en général.

D'autres utilisateurs ont suggéré cette commande, mais elle ne permet pas d'activer ou de désactiver le WiFi en mode logiciel :

netsh interface set interface name="Wi-Fi" admin=DISABLED

0 votes

Essayez la réponse acceptée sur ce poste : stackoverflow.com/questions/61930470/ Sinon, essayez la deuxième réponse et voyez si cela vous aide.

1 votes

@AbrahamZinala parfait c'est la solution exacte !!! Amélioré ci-dessous.

2voto

Smeterlink Points 552

La solution est la même que celle proposée par @Diskoteket :

# Set-NetAdapterRadioPowerState.ps1
# credit to ben-n on superuser; adapted from https://superuser.com/a/1293303

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

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]])
$wifi = $radios | ? { $_.Kind -eq 'WiFi' }
[Windows.Devices.Radios.RadioState,Windows.System.Devices,ContentType=WindowsRuntime] | Out-Null
Await ($wifi.SetStateAsync($WifiStatus)) ([Windows.Devices.Radios.RadioAccessStatus]) | Out-Null

Ensuite, exécutez-le à partir de powershell 5 ( C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe ), dans la version de mon système 5.1.22000.282 .

N'utilisez pas powershell 7 (dernière version maintenant) 7.2.1 lieu C:\Program Files\PowerShell\7\pwsh.exe ) parce que ça ne marche pas.

Résultat maintenant après activation (pas connecté à un quelconque wifi car il est connecté par RJ45 qui est prioritaire) :

.\Set-NetAdapterRadioPowerState.ps1 -WifiStatus On
Netsh WLAN show interfaces

There is 1 interface on the system:

    Name                   : Wi-Fi
    Description            : Killer Wireless-n/a/ac Wireless Network Adapter
    GUID                   : xx
    Physical address       : xx
    Interface type         : Primary
    State                  : disconnected
    Radio status           : Hardware On
                             Software On

    Hosted network status  : Not available

Activer ou désactiver avec

.\Set-NetAdapterRadioPowerState.ps1 -WifiStatus On
.\Set-NetAdapterRadioPowerState.ps1 -WifiStatus Off

ou si aucun argument ne vient, je demanderai.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X