Я запускаю пакетный файл для удаления всех персональных сетей WiFi с устройства Windows 10. Ранее у нас была проблема, когда профили WiFi создавались под учетной записью SYSTEM, и это не позволяло удалить профиль. С тех пор это было исправлено, но предыдущие сети, сохраненные под компьютерами пользователей, необходимо удалить.
У меня есть следующий скрипт для запуска, и он работает так, как и ожидалось, НО:
@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
У нас есть 2 назначенных беспроводных сети GPO. Они проталкиваются через нашу политику беспроводной сети. Ищу возможный метод EXCLUDE, который позволит мне исключить эти две сети из попыток удаления, поскольку я запускаю подстановочный знак для ВСЕХ беспроводных профилей (особые случаи, когда пользователи будут иметь доступ для их удаления). Возможно ли что-то вроде этого?
решение1
Чтобы расширитьответ music2myear, я бы использовал что-то похожее на следующее:
FOR /F "tokens=3* delims=: " %%a IN ('netsh wlan show profiles ^| FIND " : " ^| FINDSTR /v "My Wireless Network"') DO netsh wlan delete profile name="%%b"
Вам нужно будет заменить его FINDSTR /v "My Wireless Network"
на тот find
, который findstr
подойдет в вашем случае.
Авария
netsh wlan show profiles
- Перечислите профили, доступные на компьютере.FIND " : "
- Отфильтровать все, кроме строк, содержащих SSID профиля.FINDSTR /v "My Wireless Network"
- Удалить исключения из списка."tokens=3* delims=: "
- Разделите каждую строку на части и выберите только SSID.^|
- Трубу необходимо оборудовать эвакуатором, поскольку она находится внутриfor
петли.
дальнейшее чтение
решение2
Мне приходят на ум два способа:
Добавьте логику для перечисления всех настроенных в данный момент беспроводных профилей на компьютере, определите два, которые вы хотите сохранить, и удалите остальные.
Принудительно выполните gpupdate в конце скрипта, чтобы повторно добавить профили (примечание: для этого может потребоваться активное подключение к домену.)