Como usar o netsh para excluir um perfil com caracteres UTF8?

0

Conectei-me a um W com caracteres UTF-8 (Um dos Doctor Who, ┓┏ 凵 = ╱⊿┌┬┐ ou similar) que colidiram terrivelmente com a suposição do Windows de que o UTF-16 é usado em qualquer lugar.
Agora não consigo excluí-lo da minha lista de redes.

C:\WINDOWS\system32>netsh wlan show profile

Profiles on interface WiFi:

Group policy profiles (read only)
---------------------------------
    <None>

User profiles
-------------
    /* Redacted */ 
    All User Profile     : â""â"? å╬µ =â±âS¿â"Oâ"¬â"?
    /* Redacted */ 

C:\WINDOWS\system32>netsh wlan delete profile name="┓┏ 凵 =╱⊿┌┬┐"
Profile "?? ? =??┌┬┐" is not found on any interface.

C:\WINDOWS\system32>netsh wlan delete profile name="â""â"? å╬µ =â±âS¿â"Oâ"¬â"?"
One or more parameters for the command are not correct or missing.

É possível removê-lo sem limpar os outros perfis de rede também?

    
por Lex R 18.01.2014 / 16:10

1 resposta

1

Solução alternativa

Você pode fazer backup manualmente de todos os perfis, excluir todos eles e, finalmente, importar tudo de volta. Este comando irá apagar todos os perfis (não importando quais sejam os nomes dos perfis) usando um curinga :

netsh wlan delete profile name="*"

Automatização em lote

O seguinte script irá:

  1. Exportar todos os perfis, ignorando automaticamente aqueles com caracteres não suportados em seus nomes.
  2. Limpe todos eles.
  3. Importe tudo salvo na etapa 1.

    @echo off
    cd /d "%~dp0"
    setlocal enabledelayedexpansion
    
    set folder="%cd%\Profiles"
    if not exist "%folder%\" md "%folder%"
    
    for /f "tokens=2 delims=:" %%G in ('netsh wlan show profile') do (
    set name=%%G
    set name=!name:~1!
    netsh wlan export profile name="!name!" folder="%folder%" >nul
    )
    
    netsh wlan delete profile name="*"
    echo.
    for /r "%folder%" %%G in (*.xml) do netsh wlan add profile filename="%%G"
    
    echo. & pause
    exit /b
    
por 18.01.2014 / 18:51