Windows에서 프로그램을 SYSTEM (LocalSystem) 계정으로 실행하는 방법

많은 Windows 시스템 파일과 레지스트리 키는 높은 권한 수준을 가진 SYSTEM (일명 LocalSystem) 계정이 소유합니다. SYSTEM 계정이 소유 한 레지스트리 키를 수정해야하는 경우 두 가지 이상의 옵션이 있습니다.

생각 나는 첫 번째 옵션은 해당 레지스트리 키의 소유권을 갖고 모든 권한을 할당하는 것입니다. 레지스트리 키 또는 값이 업데이트되면 권한 및 소유권을 SYSTEM 되 돌리십시오.

그러나 더 쉬운 옵션이 있습니다. SYSTEM 또는 LocalSystem 계정에서 명령 프롬프트 또는 레지스트리 편집기와 같은 프로그램을 직접 실행하고 레지스트리 값을 업데이트 할 수 있습니다.

이 문서에는 Windows 10을 포함하여 모든 Windows 버전에서 SYSTEM 또는 LocalSystem 계정으로 프로그램을 실행할 수있는 5 가지 방법이 나와 있습니다. .exe 파일에 대해 Run as SYSTEM 오른쪽 클릭 메뉴 옵션을 추가 할 수도 있습니다.

관련 : TrustedInstaller로 프로그램을 실행하여 특정 레지스트리 키 또는 파일에 쓰는 방법

계속하기 전에 SYSTEM, LocalSystemNT AUTHORITY\SYSTEM 이라는 용어가 하나이고 동일하다는 것을 이해하십시오.

SYSTEM (LocalSystem 계정)으로 프로그램을 실행하는 방법

SYSTEM 계정으로 프로그램을 실행하려면 다음 도구 중 하나를 사용하십시오.

$config[ads_text6] not found

Windows Sysinternals에서 PsExec.exe 사용

SYSTEM 컨텍스트에서 프로그램을 실행하려면 Microsoft Windows Sysinternals의 PsExec.exe 콘솔 도구를 사용하십시오. 다음 지침을 따르십시오.

  1. Microsoft Sysinternals에서 PsExec을 다운로드하십시오.
  2. 도구를 압축 해제하여 영구 폴더에 추출하십시오 (예 d:\tools
  3. 관리자 권한 또는 관리자 명령 프롬프트 창을 엽니 다.
  4. SYSTEM 계정으로 레지스트리 편집기를 시작하려면 다음 명령을 입력하고 Enter 키를 누릅니다.
     d : \ tools \ psexec.exe -sid c : \ windows \ regedit.exe 

    위의 PsExec 명령 줄은 레지스트리의 보호 된 영역을 수정할 수 있도록 LOCALSYSTEM 계정으로 레지스트리 편집기를 시작합니다.

    관련 : 수정 : Windows Defender 오류 577 | 서비스 시작 실패

    참고 : SYSTEM 계정으로 명령 프롬프트 ( cmd.exe )를 실행하면 새 명령 프롬프트 창이 나타납니다. 그리고 해당 명령 프롬프트 창에서 시작한 모든 프로그램은 높은 권한을 가진 계정 인 SYSTEM (LocalSystem) 계정으로 실행됩니다. SYSTEM 계정으로 프로그램을 실행할 때 실수로 원하지 않는 프로그램을 SYSTEM 으로 실행하지 않도록주의해야합니다.

  5. 레지스트리 편집기 창에서 원하는 레지스트리 키로 이동하여 원하는 값을 수정하십시오.

    예를 들어 작업 스케줄러 서비스의 "시작 유형"또는 레지스트리에서 Windows Update 서비스를 수정하려고 할 수 있습니다.

  6. 레지스트리 편집기를 종료하십시오.

Nirsoft에서 고급 실행 사용

AdvancedRun은 Windows의 간단한 도구로, 우선 순위가 낮거나 높은 디렉토리 시작, 기본 창 상태 (최소화 / 최대화), 다른 사용자 또는 권한으로 프로그램 실행, 운영 등 사용자가 선택한 다양한 설정으로 프로그램을 실행할 수 있습니다. 시스템 호환성 설정 및 환경 변수. 원하는 설정을 구성 파일에 저장 한 다음 명령 줄에서 원하는 설정으로 프로그램을 자동으로 실행할 수도 있습니다.

Advanced Run을 사용하면 SYSTEM 또는 다른 사용자 컨텍스트에서 프로그램을 시작할 수도 있습니다.

실행할 프로그램 이름을 입력하고 실행 드롭 다운 상자에서 SYSTEM 사용자를 선택하고 실행 을 클릭하십시오.

프로그램을 SYSTEM으로 실행하는 바탕 화면 바로 가기를 만들 수도 있습니다. 사용하는 명령 줄 구문은 다음과 같습니다.

 AdvancedRun.exe / EXE 파일 이름 "C : \ Windows \ regedit.exe"/ RunAs 4 / Run 

/RunAs 4 는 LocalSystem 계정으로 프로그램을 시작하도록 지시합니다. /RunAs 스위치의 가능한 값 데이터는 다음과 같습니다.

  • 1 – 현재 사용자로 실행 (상승)
  • 2 – 현재 사용자로 실행 (고도 없음)
  • 3 – 관리자 권한으로 실행 (강제 고도)
  • 4 – SYSTEM으로 실행
  • 8 – TrustedInstaller로 실행

작업 관리자 세부 정보 탭에서 확인할 수있는 LocalSystem 계정으로 프로그램이 시작됩니다.

마우스 오른쪽 버튼 클릭 메뉴를 통해 SYSTEM으로 실행

마우스 오른쪽 클릭 컨텍스트 메뉴에서 SYSTEM 계정 (고급 실행 사용)으로 프로그램을 시작하려면 다음 내용에서 .reg 파일을 만들고 파일을 실행하십시오.

 Windows 레지스트리 편집기 버전 5.00 [HKEY_CLASSES_ROOT \ exefile \ shell \ runassystem] @ = "시스템으로 실행"[HKEY_CLASSES_ROOT \ exefile \ shell \ runassystem \ command] @ = "d : \\ tools \\ AdvancedRun.exe / EXEFilename \"% 1 \ "/ RunAs 4 / Run" 

필요한 경우 .reg 파일에서 AdvancedRun.exe의 경로를 변경하십시오.

그러면 .exe 파일 및 해당 바로 가기의 마우스 오른쪽 버튼 메뉴에 Run as SYSTEM 실행 명령이 추가됩니다.


NirSoft에서 NirCmd.exe 사용

NirCmd는 이전에이 사이트에서 다루었던 다목적 명령 줄 도구입니다.

NirCmd는 상승 된 프로그램을 시작하고 SYSTEM 계정으로 시작할 수 있습니다.

이 명령 행을 사용하여 SYSTEM 계정에서 레지스트리 편집기를 시작하십시오.

 nircmd.exe elevatecmd runassystem c : \ windows \ regedit.exe 

상황에 맞는 메뉴 구현

다음 내용으로 .reg 파일을 만들고 파일을 실행하십시오.

 Windows 레지스트리 편집기 버전 5.00 [HKEY_CLASSES_ROOT \ exefile \ shell \ runassystem] @ = "시스템으로 실행"[HKEY_CLASSES_ROOT \ exefile \ shell \ runassystem \ command] @ = "d : \\ tools \\ nircmd.exe elevatecmd runassystem \"% 1\"" 


Uwe Sieber의 RunAsSystem 사용

RunAsSystem (Uwe Sieber)은 SYSTEM 계정 또는 컨텍스트에서 프로그램을 시작하는 콘솔 도구입니다. 또한 기본적으로 창 스타일과 프로세스 우선 순위를 실행 된 프로세스에 전달합니다. 명령 행 인수를 사용하여 창 크기와 하위 프로세스 우선 순위를 대체 할 수 있습니다. Uwe Sieber는 유명한 USB 드라이브 문자 관리자 프로그램을 개발 한 사람입니다.

시작된 프로세스가 종료 될 때까지 기다린 다음 리턴 코드 (일명 오류 레벨)를 다시 전달합니다. 그러나 배치 파일에서 start /wait 를 추가해야합니다.

용법:

 RunAsSystem [-min | -max | -normal | -noact | -hid] [-low | -below | -normal | -above | -high] "실행 가능"[실행 가능 매개 변수] 

예 :

 RunAsSystem "C : \ Windows \ notepad.exe"RunAsSystem "% windir % \ regedit.exe"RunAsSystem "% windir % \ System32 \ cmd.exe"/ k dir / s "C : \ System Volume Information" 

상황에 맞는 메뉴 구현

다음 내용으로 .reg 파일을 만들고 파일을 실행하십시오.

 Windows 레지스트리 편집기 버전 5.00 [HKEY_CLASSES_ROOT \ exefile \ shell \ runassystem] @ = "시스템으로 실행"[HKEY_CLASSES_ROOT \ exefile \ shell \ runassystem \ command] @ = "d : \\ tools \\ RunAsSystem.exe \"% 1 \ "" 

위의 .reg 파일은 .exe 파일의 마우스 오른쪽 버튼 메뉴에 Run as SYSTEM 명령을 추가합니다. .reg 파일은 RunAsSystem.exe 파일이 d:\tools 폴더 아래에 있다고 가정합니다. 그렇지 않은 경우 .reg 파일에서 경로를 적절히 변경하십시오.

$config[ads_text6] not found

M2Team의“NSudo”사용

NSudo (GitHub)는 NSudo가 디지털 서명되지 않은 것을 제외하고 Advanced Run과 유사한 휴대용 유틸리티입니다. NSudo는 SYSTEM, Current User, Current Process 또는 TrustedInstaller 계정으로 프로그램을 시작할 수 있습니다. 앞에서 NSudo를 사용하여 TrustedInstaller로 프로그램을 시작하는 방법을 살펴 보았습니다.

관련 : TrustedInstaller로 프로그램을 실행하여 특정 레지스트리 키 또는 파일에 쓰는 방법

드롭 다운에서 모드 ( 시스템 )를 선택하고 실행 파일 경로를 입력 한 후 실행을 클릭하십시오.

선택적으로 열기 : 드롭 다운 목록 상자에서 실행 파일과 같은 폴더에있는 NSudo.json 파일을 편집하여 미리 정의 된 프로그램 또는 명령 세트를 추가 할 수도 있습니다.

NSudo 명령 행을 사용하여 SYSTEM 컨텍스트에서 프로그램을 실행하려면 다음 구문을 사용하십시오.

 NSudo -U : S c : \ windows \ system32 \ cmd.exe 

이 유틸리티가 지원하는 전체 명령 행 인수 목록은 아래를 참조하십시오.

NSudo : 명령 줄 지원

 NSudo 버전 6.2.1812.31 -U : [옵션] 지정된 사용자 옵션으로 프로세스를 작성하십시오. 사용 가능한 옵션 : T TrustedInstaller S 시스템 C 현재 사용자 P 현재 프로세스 D 현재 프로세스 (오른쪽 드롭) PS : 필수 매개 변수입니다. -P : [Option] 지정된 권한 옵션으로 프로세스를 작성합니다. 사용 가능한 옵션 : E 모든 권한 사용 D 모든 권한 사용 안함 PS : 기본 권한을 사용하여 프로세스를 작성하려면 "-P"매개 변수를 포함하지 마십시오. -M : [Option] 지정된 무결성 수준 옵션으로 프로세스를 만듭니다. 사용 가능한 옵션 : S 시스템 H 높음 M 중간 L 낮음 PS : 기본 무결성 수준을 사용하여 프로세스를 만들려면 "-M"매개 변수를 포함하지 마십시오. - 우선 순위 : [옵션] 지정된 [우선 순위 우선 순위 옵션으로 프로세스를 작성하십시오. 사용 가능한 옵션 : Idle BelowNormal Normal AboveNormal High RealTime PS : 기본 프로세스 우선 순위를 사용하여 프로세스를 작성하려면 "-Priority"매개 변수를 포함하지 마십시오. -ShowWindowMode : [Option] 지정된 창 모드 옵션으로 프로세스를 만듭니다. 사용 가능한 옵션 : Show Hide Maximize Minimize PS : 프로세스를 만들기 위해 기본 창 모드를 사용하려면 "-ShowWindowMode"매개 변수를 포함하지 마십시오. -Wait 생성 된 프로세스가 종료되기 전에 NSudo가 대기하도록합니다. PS : 기다리지 않으려면 "-Wait"매개 변수를 포함시키지 마십시오. -CurrentDirectory : [DirectoryPath] 프로세스의 현재 디렉토리를 설정하십시오. PS : NSudo의 현재 디렉토리를 사용하려면 "-CurrentDirectory"매개 변수를 포함시키지 마십시오. -UseCurrentConsole 현재 콘솔 창으로 프로세스를 작성하십시오. PS : 새 콘솔 창으로 프로세스를 작성하려면 "-UseCurrentConsole"매개 변수를 포함시키지 마십시오. -Version NSudo의 버전 정보를 표시합니다. -? 이 내용을 보여주십시오. -H 이 내용을 보여주십시오. -도움말 이 내용을 표시하십시오. 상황에 맞는 메뉴 : -Install : NSudo를 Windows 디렉토리에 복사하고 상황에 맞는 메뉴를 추가합니다. -제거 : Windows 디렉토리와 상황에 맞는 메뉴에서 NSudo를 제거합니다. PS : 1. 모든 NSudo 명령 인수는 대소 문자를 구분하지 않습니다. 2. "/"또는 "-"override "-"를 사용하고 명령 줄 매개 변수에서 "="override ":"를 사용할 수 있습니다. 예를 들어 "/ U : T"와 "-U = T"는 동일합니다. 3. 최상의 경험을 보장하기 위해 NSudoC는 컨텍스트 메뉴를 지원하지 않습니다. 예 : TrustedInstaller와 함께 명령 프롬프트를 실행하려면 모든 권한과 기본 무결성 수준을 활성화하십시오. NSudo -U : T -P : E cmd 

상황에 맞는 메뉴 추가

  • -Install 매개 변수를 사용하여 NSudo를 실행하십시오. NSudo를 Windows 디렉토리에 복사하고 상황에 맞는 메뉴를 추가합니다.
  • 컨텍스트 메뉴를 제거하려면 -Uninstall 매개 변수를 사용하여 NSudo를 실행하십시오. Windows 디렉토리 및 컨텍스트 메뉴에서 NSudo를 제거합니다.

편집자 추천 : GUI (및 CLI) 용 고급 실행PsExec for CLI 용.

관련 기사