Windows에서 일부 작업을 수행하려면 관리자 권한이 있는 것만으로는 충분하지 않습니다. 예를 들어, 시스템 파일과 일부 레지스트리 키를 교체 또는 삭제하거나 시스템 서비스를 중지하거나 운영 체제의 안정성에 영향을 줄 수 있는 잠재적으로 안전하지 않은 기타 작업을 수행할 수 없습니다. 이러한 경우 시스템 관리자는 파일 또는 기타 개체의 소유권을 가져오거나 시스템 계정을 대신하여 작업을 수행할 수 있습니다. 이 기사에서는 앱이나 명령 프롬프트를 권한 있는 SYSTEM
으로 실행하는 방법을 살펴보겠습니다. (LocalSystem
) Windows 10의 계정.
면책조항 . SYSTEM 계정을 대신하여 Windows 이미지를 변경하는 것은 비표준 작업입니다. NT AUTHORITY\SYSTEM 권한으로 잘못된 작업을 수행하면 Windows가 손상될 수 있습니다. 실제로 시스템 계정으로 프로세스를 실행하는 것은 거의 사용되지 않습니다. 대부분의 경우 다음과 같은 몇 가지 표준 방법을 사용하여 문제를 해결할 수 있습니다. runas, 관리자 권한 없이 앱 실행 및 UAC 프롬프트 억제, 파일/레지스트리 키에 대한 소유권 가져오기, 모든 또는 특정 앱에 대해서만 UAC 비활성화, 비에 대한 서비스 관리 권한 부여 -관리자 사용자.
기본 제공 SYSTEM 계정은 SCM(서비스 제어 관리자)에서 시스템 서비스를 실행하고 관리하는 데 사용됩니다. 시스템 계정 사용(NT AUTHORITY\SYSTEM이라고도 함) , 로컬 시스템 또는 컴퓨터\LocalSystem ), 대부분의 시스템 서비스 및 프로세스가 실행됩니다(NT OS 커널 포함). 서비스 관리 mmc 스냅인(
services.msc
) 및 로컬 시스템이 있는 서비스를 확인합니다. LogOnAs에서 열. 이러한 서비스는 SYSTEM 계정으로 실행됩니다.
Windows(Vista 이전 버전)에서 로컬 시스템 계정으로 CMD를 실행하는 방법은 무엇입니까?
Windows XP 및 Windows Server 2003(더 이상 지원되지 않음)에는 작업 스케줄러를 사용하여 시스템 권한으로 프로그램이나 대화형 명령 프롬프트(cmd.exe)를 실행할 수 있는 흥미로운 트릭이 있었습니다. 관리자 계정으로 명령 프롬프트를 열고 다음 명령을 실행하는 것으로 충분했습니다.
at 10:23 /interactive cmd.exe
여기서, 10:23
현재 시간 + 1분(24시간 형식)
지정된 시간이 되면 로컬 시스템 계정으로 실행 중인 명령 프롬프트가 나타납니다. Windows Server 2003/XP의 터미널(RDP) 세션에서 이 명령을 실행한 경우 시스템 권한이 있는 명령 프롬프트는 콘솔 세션에만 표시됩니다(mstsc /console
또는 mstsc /admin
).
Windows 10은 at
를 사용하여 대화형 명령 프롬프트 실행을 지원하지 않습니다. 명령. schtasks.exe
를 사용하는 것이 좋습니다. 대신.
경고:보안 강화로 인해 이 작업은 예상 시간에 실행되지만 대화식으로 실행되지 않습니다. 대화식 작업이 필요한 경우 schtasks.exe 유틸리티를 사용하십시오(자세한 내용은 'schtasks /?'). 요청은 지원되지 않습니다.사전>
PSExec을 사용하여 Windows 10에서 CMD/프로세스를 시스템으로 실행하는 방법
Windows 7 이상에서는 작업 스케줄러를 사용하여 시스템 계정으로 대화형 명령 프롬프트를 실행할 수 없습니다. NT Authority\ 시스템으로 명령을 실행하려면 PSExec.exe를 사용할 수 있습니다. Sysinternals의 유틸리티입니다.
PSExec.exe 도구는 Microsoft 웹 사이트(https://docs.microsoft.com/en-us/sysinternals/downloads/psexec)에서 다운로드할 수 있습니다. 모든 Windows 관리자는 PSExec에 익숙합니다. 대부분의 경우 Windows를 원격으로 관리하는 데 사용되며 시스템 계정을 대신하여 프로세스를 실행하는 데 유용한 기능도 있습니다. 일부 바이러스 백신은 PSExec.exe를 잠재적으로 유해한 프로그램으로 식별할 수 있습니다(그런데 악명 높은 notpetya 바이러스를 배포하는 데 사용된 것은 psexec였습니다).PSExec은 설치할 필요가 없습니다. 관리자 권한 명령 프롬프트("관리자 권한으로 실행")를 열고 PSexec.exe가 있는 폴더로 이동하여 다음 명령을 실행합니다.
psexec -i -s cmd.exe
-i – 대화형 모드에서 프로세스/앱을 시작할 수 있습니다(사용자는 데스크톱에서 앱과 상호 작용할 수 있습니다. 이 매개변수를 사용하지 않으면 프로세스가 콘솔 세션에서 시작됨),
– – 프로세스(이 경우 명령 프롬프트)가 시스템 계정으로 실행되어야 함을 의미합니다.
처음 PsExec을 실행하면 라이센스 계약에 동의하라는 메시지가 표시됩니다.
명령을 실행하면 NT Authority\System 아래에서 실행되는 새 명령 프롬프트 창이 나타납니다. 계정. 다음 명령을 실행하여 그것이 사실인지 확인하십시오:
whoami
따라서 모든 프로그램, 명령 또는 스크립트를 시스템 계정으로 실행할 수 있습니다. PsExec 매개변수의 cmd.exe를 실행하려는 앱 실행 파일의 이름으로 바꾸는 것으로 충분합니다.
나타나는 명령 프롬프트 창에서 SYSTEM으로 모든 명령을 실행할 수 있습니다. 이제 TrustedInstaller 또는 SYSTEM이 소유한 시스템 파일/레지스트리 키를 변경, 이름 변경 또는 삭제할 수 있습니다. 이 창에서 시작하는 모든 프로그램 또는 프로세스는 상승된 LocalSystem 권한으로 실행됩니다. 예를 들어, 시스템 서비스를 중지하거나 시스템 프로세스에서 연 파일을 닫을 수 있습니다.
PSExec을 사용하면 원격 컴퓨터에서 NT AUTORITY\SYSTEM 권한으로 대화형 명령 프롬프트를 열 수 있습니다. 이를 위해 다음 명령이 사용됩니다.
psexec -s \\mun-b21pc12 cmd.exe
"
Couldn’t install PSEXESVC service
" 오류가 나타나면 다음을 확인하십시오.
- 명령 프롬프트는 관리자 권한으로 실행됩니다.
- 다른 PSEXESVC 서비스 인스턴스가 실행되고 있지 않습니다.
시스템 계정(AdvancedRun , RunAsSystem , 파워런 ), 그러나 나는 그것들을 사용하는 어떤 점을 볼 수 없습니다. 우선, 그들은 타사이며 악성 코드가 없는지 확신할 수 없습니다. 둘째, Microsoft의 공식 PsExec 유틸리티가 훌륭하게 작동합니다.