무선 프로필을 삭제하지만 2개의 GPO 할당 Wi-Fi 프로필을 제외하는 배치 파일

무선 프로필을 삭제하지만 2개의 GPO 할당 Wi-Fi 프로필을 제외하는 배치 파일

Windows 10 장치에서 모든 개인 WiFi 네트워크를 제거하기 위해 배치 파일을 실행하고 있습니다. 이전에는 SYSTEM 계정으로 WiFi 프로필을 만들고 프로필을 제거할 수 없는 문제가 있었습니다. 이후 문제가 해결되었지만 사용자 컴퓨터에 저장된 이전 네트워크를 제거해야 합니다.

실행할 다음 스크립트가 있고 예상대로 작동하지만:

@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를 강제 실행하세요(참고: 활성 도메인 연결이 필요할 수 있음).

관련 정보