아마 누구나 당면하는 첫번째 win8에서의 난관이 아닌가 생각해봅니다

 

win7에서처럼 관리자 권한 tip을 적용해도 완전히 uac가 없어지지 않습니다.

(아니, 완전히 없앨 수는 있습니다. 그러면 win8의 메트로 앱을 사용하지 못 합니다 ;;)

 

이것때문에 관리자계정으로 로그인도 해봤고 그런 분들도 많이 계십니다.

이러면 역시 메트로 앱을 사용하지 못 하죠. 여기서 진퇴양난이죠

 

도대체 이 난국을 어떻게 타개할 것인가? MS는 도대체 왜 이 따위로 만들었나? 투덜투덜.궁시렁궁시렁...

(보안 때문이라고 합니다. 메트로 앱 보안..)

 

여기서 제가 여기 저기서 주워 얻은 tip들을 종합해봅니다.

 

일단, 일반 사용자를 이용하세요. 관리자 계정으로는 답이 없습니다.

관리자 계정 tip은 일반사용자로 되어버리는 답이죠.

 

이제 본격적으로 해결책입니다.

 

@echo  *   UAC 알림만 끄기(관리자권한이 필요할때 바로 승인됨)+인터넷 알림 사용안함
@pause > nul & cls & echo.

reg add "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System" /v "ConsentPromptBehaviorAdmin" /t REG_DWORD /d 0 /f

reg add "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System" /v "PromptOnSecureDesktop" /t REG_DWORD /d 0 /f


:: BAT, CMD 파일 관리자 권한으로 실행
reg add "HKLM\SOFTWARE\Classes\batfile\shell" /ve /d "runas" /f
reg add "HKLM\SOFTWARE\Classes\cmdfile\shell" /ve /d "runas" /f


:: 인터넷 옵션 - 보안 - 인터넷 영역 - 보호모드 해제
reg add "HKCU\Software\Microsoft\Windows\CurrentVersion\Internet Settings\Zones\3" /v "2500" /t REG_DWORD /d 3 /f

:: 보호모드 알림 사용 안함
reg add "HKCU\Software\Microsoft\Internet Explorer\Main" /v "NoProtectedModeBanner" /t REG_DWORD /d 1 /f

 ------------------------- 일단 여기까지만 저장하시고 사용하세요 ------------------

 

 

이 정도만 해주시면 대체로 관리자권한으로 실행됩니다

 

일부분 안 되는 것만 직접 지정을 해주면 됩니다.

 

reg add "HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers" /v exe파일경로 /d "~ RUNASADMIN" /f

 

이렇게 특별한 것만 추가해주시면 되겠습니다.

항상 관리자권한으로  실행을 체크한 것과 같은 reg입니다.

이건 재부팅해야 적용되더군요. 나머지 위의 것들은 바로 적용되었던 걸로 기억합니다.

 

 

시작때 실행하는 것이 안 되는 문제가 남았군요. 흠;

 

SCHTASKS /Create  /f  /tn 스케줄이름  /sc ONLOGON /tr 실행경로 /rL HIGHEST

 

 

이걸 전부 확장자 bat파일로 저장하셔서 다음 윈도 설치후에 클릭만 해주시면 그대로 사용하실 수 있습니다.

 

지금 당장은 관리자권한으로 cmd창을 여셔서 붙여넣기 하시면 됩니다 

 

[참고] http://windowsforum.kr/3861316

 

자바에서 외부파일을 실행시키거나, cmd 명령을 위해서 Runtime객체를 사용한다.

 

확장자가 .exe로 끝나는 외부파일을 실행시킬때에는

try {
      Process process = Runtime.getRuntime().exec("c:/windows/notepad.exe");     
     } catch (IOException e1) {
      System.out.println(e1);
     }

로 실행시키면된다.

 

하지만 .exe로 끝나는 파일이 아니면 (예:.mov)

try {
Process process = Runtime.getRuntime().exec("cmd -c d:/test/test.mov");
} catch (IOException e1) {
System.out.println(e1);
}

로 실행시켜 줘야한다.

======================================================================

여기에서 process는 cmd창의 Stream을 얻어온다.

cmd창 실행 후 계속 할일이 있다면 process를 이용하면 된다.

 

[참고함] http://day0429.tistory.com/entry/Runtime-%EA%B0%9D%EC%B2%B4-cmd%EB%AA%85%EB%A0%B9

 

그런데 window8 에서 명령이 실행이 안된다. 관리자 권한으로 실행하는 방법 확인이 필요함

이 부분을 확인하기 위하여 좀더 체크가 필요함.

자바에서 Runtime.getRuntime().exec() 를 사용하여 windows 명령어를 실행하는 방법.

여기서 command는 실행 명령어 이다.

예 : move c:\data\source.txt c:\data\target.txt  <- 윈도우용

예 : mv /data/source.txt /data/target.txt <- 리눅스용


Process process;
String osName = System.getProperty("os.name");
String[] cmd;

if(osName.toLowerCase().startsWith("window")) {
    cmd = new String[] { "cmd.exe", "/y", "/c", command };
} else {
    cmd = new String[] { "/bin/sh", "-c", command };
}

process = Runtime.getRuntime().exec(cmd);

return process.waitFor();

[출처] http://blog.daum.net/lkflower/17224498  참고함.

OS 테스트 하기 위한 예제 소스

public class OS_Test {

 /**
  * @param args
  */
 public static void main(String[] args) {
  // TODO Auto-generated method stub
  String osArchitecture = System.getProperty("os.arch");
  String osName = System.getProperty("os.name");
  String javaHome = System.getProperty("java.home");
  String currentDirectory = System.getProperty("user.dir");
  String userHome = System.getProperty("user.home");
  // 32비트 인지 64비트인지 구별하기 위해 추가함
  String archDataModel = System.getProperty("sun.arch.data.model");
  
  System.out.println(osArchitecture);
  System.out.println(osName);
  System.out.println(javaHome);
  System.out.println(currentDirectory);
  System.out.println(userHome);
  System.out.println(archDataModel);
 }

}

 

 

오라클 no wait 에 걸렸을때 확인방법

SELECT A.SID, A.SERIAL#, B.TYPE, C.OBJECT_NAME
FROM V$SESSION A, V$LOCK B, DBA_OBJECTS C
WHERE A.SID=B.SID
AND B.ID1=C.OBJECT_ID
AND B.TYPE='TM'

오라클 no wait 에 걸린넘 죽일 때

ALTER SYSTEM KILL SESSION 'SID, SERIAL#';

+ Recent posts