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