윈 도 우 이것좀 작동하게 해주세요 cmd
2019.11.10 08:33
@echo off
color 1f
title Auto_IP_Setting v1.0.1
:: 관리자 권한 확인하여, 아니면 관리자 권한으로 다시 실행합니다.
if not exist %windir%\system32\config\sam (
echo Set UAC = CreateObject^("Shell.Application"^) > "%tmp%\admin.vbs"
echo UAC.ShellExecute "%~0", "", "", "runas", 1 >> "%tmp%\admin.vbs"
wscript.exe "%tmp%\admin.vbs" & del "%tmp%\admin.vbs" & exit)
for /f "delims=[] tokens=2" %%a in ('ping -4 -n 1 %ComputerName% ^| findstr [') do set ThisIP=%%a
for /f "tokens=1 delims==" %%i in (IP.txt) do set ThisIP2=%%i
for /f "tokens=2 delims==" %%F in ('wmic nic where "NetConnectionStatus=2 and AdapterTypeId=0" get NetConnectionID /format:list') do set interfaceName=%%F
echo.
echo. *******************************************************************************
echo. 고정 IP 주소 변경 프로그램 v1.0.1
echo. *******************************************************************************
echo.
echo.* 컴퓨터 IP 주소 : %ThisIP%
echo.
echo.* 메모장 IP 주소 : %ThisIP2%
echo.
echo.* 인터페이스 이름 : %interfaceName%
pause
빨간색 부분이 없어야 정상작동 합니다
그렇다고 없에면 pause 다음스크립트가 있는데 작동 안됩니다
댓글 [2]
-
DarknessAngel 2019.11.10 10:25
-
메리아 2019.11.10 11:23
저 부분의 기능은 관리자권한으로 실행 안했을때도 자동으로 관리자권한으로 바꿔서 다시 실행해주는 기능입니다.
즉, 그냥 저 부분을 지워버리고 무조건 관리자권한으로 우클릭해서 실행하면 속편합니다.
아니면 바로가기 같은거 만들어서 속성에서 관리자권한으로 세팅하거나요.
근데 역시 더블클릭이 편하겠죠?
그렇다면 대강 첨부파일과 같이 하면 됩니다.
예전에 이래저래 실험하며 만든 관리자권한 실행예제입니다.
(관리자권한 획득에 성공했다는 증거로 system32 폴더에 txt 파일을 하나 만들어 실행 날짜와 시각을 기록합니다.)
제가 XP부터 포함해서 윈10까지 여러군데 해봤는데,
기존에 알려진 관리자권한 확인하는 방법이 어쩌다 안먹히는 경우도 있고 그렇더라구요.
그래서 첨부파일과 같은 방식까지 이래저래 테스트하며 발전(?) 시켜봤는데
제가 해본건 대강 다 통했습니다.
저게 안되면 인터넷에서 또 다른 체크방법 찾아보세요.
참고로 님의 코드는
exist %windir%\system32\config\sam 로 관리자권한 여부를 확인하는 것이고
제건 net session 이란걸 확인하는 방식입니다. (주석에 있듯 cacls.exe를 확인한적도 있지만 안될때가 있어서 포기)
여러가지 방식을 확인해서 맞는거 쓰시는 수밖에는 도리가 없습니다.
배포용이라면 제 방식이 또 안될지 모르겠지만,
(제가 xp포함 xp 이후 비스타빼고 다 해보긴 했지만, 혹 안되는곳도 있을지 몰라요. 또 뭔가 트윅된 경우엔 안될수도 있구요.)
개인용이라면 대충 맞는거 찾아쓰면 됩니다.
참고로 사용자 계정 컨트롤 UAC까지 우회해주는건 아닙니다.
그건 우회가 아마 불가능하지 않나 싶습니다.
그거 낮춰놨으면 바로 실행될 것이고, 안 낮췄으면 확인창이 뜰테고 거기서 Yes정도는 수동으로 눌러줘야합니다.
즉, 무인 자동실행은 거의 무리라는거죠.
무인 실행을 원하면 UAC를 꺼야합니다.
저런 명령은 당연히 관리자 권한이 있어야 합니다
우클릭 -> 관리자 권한 실행