Estou executando um arquivo em lote para remover todas as redes WiFi pessoais de um dispositivo Windows 10. Anteriormente, tivemos um problema em que perfis WiFi eram criados na conta SYSTEM e isso não permitia a remoção do perfil. Isso já foi corrigido, mas as redes anteriores salvas nos computadores dos usuários precisam ser removidas.
Eu tenho o seguinte script para executar e está funcionando conforme o esperado, MAS:
@ECHO OFF
:: Checking for Admin (Right-click) Condition
CLS
NET SESSION > NUL
IF NOT %ERRORLEVEL% EQU 0 (
COLOR 4F
ECHO.
ECHO ----- WARNING! ERROR EXECUTING THE COMMAND -----
ECHO.
ECHO.
ECHO You must right-click and select "Run as Administrator" from the pop-up menu
ECHO.
ECHO.
GOTO END
) ELSE (
CLS
)
setlocal
:PROMPT
ECHO Using this will delete ALL PERSONAL wifi networks.
ECHO Users will have to type in their password for their specific SSID when in range.
SET /P QUESTION=Are you sure? (Y/[N])?
IF /I "%QUESTION%" NEQ "Y" GOTO END
netsh wlan delete profile name=*
ECHO Wifi networks deleted successfully
:END
echo.
echo.
PAUSE
Temos 2 redes sem fio atribuídas a GPO. Eles são transmitidos por meio de nossa política de rede sem fio. Procurando um possível método EXCLUDE para me permitir excluir esses dois da tentativa de exclusão, já que estou executando um curinga para TODOS os perfis sem fio (casos especiais em que os usuários teriam acesso para excluí-los). Algo assim é possível?
Responder1
Para expandirresposta de music2myear, eu usaria algo semelhante ao seguinte:
FOR /F "tokens=3* delims=: " %%a IN ('netsh wlan show profiles ^| FIND " : " ^| FINDSTR /v "My Wireless Network"') DO netsh wlan delete profile name="%%b"
Você precisará substituir FINDSTR /v "My Wireless Network"
por qualquer coisa find
que findstr
funcione no seu caso.
Discriminação
netsh wlan show profiles
- Liste os perfis disponíveis no computador.FIND " : "
- Filtre tudo menos as linhas que contêm os SSIDs do perfil.FINDSTR /v "My Wireless Network"
- Remova as exceções da lista."tokens=3* delims=: "
- Divida cada linha em pedaços e escolha apenas os SSIDs.^|
- O tubo precisa ser escapado porque está dentro de umfor
laço.
Leitura adicional
Responder2
Posso pensar em duas maneiras:
Adicione lógica para enumerar todos os perfis sem fio atualmente configurados no computador, identifique os dois que deseja manter e exclua os outros.
Force um gpupdate no final do script para adicionar novamente os perfis (nota: isso pode exigir uma conexão de domínio ativa).