[server] 대상 컴퓨터에서 관리자 권한없이 psexec를 사용하는 방법은 무엇입니까?

psexec원격 시스템에 대한 관리자 권한없이 원격 시스템에서 명령을 실행하는 데 사용할 수 있습니까?

내가 실행 시도 psexec \\<machine> -u <username> -p <password>, 어디 <username>
<password>
관리자가 아닌 자격 증명,하지만 난 “액세스가 거부되었습니다”라는 에러

문제없이 동일한 자격 증명으로 원격 컴퓨터에 원격 데스크톱을 연결할 수 있습니다.

로컬 컴퓨터에서 Windows 7 Enterprise 64 비트를 실행 중이고 원격 컴퓨터에서 Windows Server 2008 64 비트를 실행 중입니다. 로컬 컴퓨터에 대한 관리자 권한이 있습니다.

편집 :이 질문을 내리는 모든 사람들에게 : 나는 어떤 종류의 보안 조치를 우회하려고 하지 않습니다 . 원격 컴퓨터에 원격 데스크톱을 연결하여 실행 하여 원격 컴퓨터에서 이미 프로세스를 실행할 수 있습니다 . GUI를 통해 이미 수행 할 수있는 작업을 수행하는 명령 줄 방법을 찾고 있습니다.



답변

https://stackoverflow.com/questions/534426/psexec-help-needed 에서 찾을 수 있습니다

psexec의 일부가 대상에서 Windows 서비스를 시작함에 따라 대상에 대한 관리자 권한이 있어야하며이를 수행하려면 관리자 권한이 필요합니다.

psexec는 psexecsvc 파일을 관리자 공유에 복사 한 다음 원격 관리를 사용하면 해당 파일을 사용하여 서비스를 시작합니다. 명명 된 파이프를 열고 추가 통신에 사용합니다. 완료되면 스스로 정리합니다.

나는 같은 것을 말하는 공식 문서를 찾을 수 없지만.


답변

컴퓨터에서 로컬 관리자가되도록 요청하십시오.

편집 : 또는 예약 된 작업으로 명령을 실행하십시오. 또는 PsExec : Run 프로세스에서 -l 스위치를 제한된 사용자로 사용하십시오 (관리자 그룹을 제거하고 사용자 그룹에 지정된 권한 만 허용 함). Windows Vista에서는 프로세스가 무결성이 낮습니다. 여기 참조 : http://technet.microsoft.com/en-us/sysinternals/bb897553를 . RTFM 말하지만 미안합니다!

예를 들어, 제한된 사용자 권한으로 Internet Explorer를 실행하려면 다음 명령을 사용하십시오.

psexec -l -d “c : \ program files \ internet explorer \ iexplore.exe”

비밀번호는 일반 텍스트로 원격 시스템에 전송됩니다.


답변

유용한 방법은 아닙니다. 관리자가 아닌 왜 이렇게 하시겠습니까?


답변

Powershell 명령을 사용하는 것이 좋습니다.


답변

해결 방법은 AutoIT 스크립트를 사용하여 워크 스테이션 일정에 따라 원격 데스크톱에 로그인하는 것입니다. “시작”폴더가 배치 스크립트 또는 다른 AutoIT 스크립트를 통해 프로세스를 실행하도록하십시오 (다른 작업을 수행하는 경우 취소 할 수 있도록). 이것은 명령 행이 아니지만 sysadmin이 제공 한 매개 변수 내에서 작업을 자동화합니다. 도움이 되길 바랍니다.


답변

아마도 이것을 할 수있는 방법이있을 것입니다. 컴퓨터에서 WMI 권한을 편집하는 것만 큼 간단합니다. 가능하지 않으면 WinRM과 같은 것을 사용하는 것이 확실히 작동합니다.

그래도 그 모든 것이 당신을위한 것입니다. 컴퓨터에 대한 관리자 액세스 권한이 없습니다. 따라서이 작업을 수행하는 데 필요한 변경을 수행 할 수 없습니다. 이 문제를 해결하는 데 도움을 요청하는 대신 sysadmin과 함께이 문제를 해결해야합니다. 한 가지 사실을 분명히 기억하십시오. 여기에서 우리 대부분은 sysadmin이며 사용자가 우리 주변을 돌아 다니는 것을 좋아하지 않습니다. 그렇기 때문에 시스템 관리자를 돌보는 데 도움이되지는 않습니다.


답변

`const string subkey = “소프트웨어 \ Sysinternals \ PsExec”;

        if (Environment.Is64BitOperatingSystem)
        {
            // For 64 Bit PC
            RegistryKey registryKey64 = RegistryKey.OpenBaseKey(RegistryHive.CurrentUser, RegistryView.Registry64);
            RegistryKey NDPKey64 = registryKey64.OpenSubKey(subkey);
            if (NDPKey64 != null)
            {
                Registry.CurrentUser.OpenSubKey(subkey, true).SetValue("EulaAccepted", 1, RegistryValueKind.DWord);
            }
            else
            {
                RegistryKey regKey64 = registryKey64.OpenSubKey("Software", true);
                regKey64.CreateSubKey("Sysinternals\\PsExec", RegistryKeyPermissionCheck.ReadWriteSubTree);
                Registry.CurrentUser.OpenSubKey(subkey, true).SetValue("EulaAccepted", 1, RegistryValueKind.DWord);
            }
        }
        else
        {
            //For 32 bit PC
            RegistryKey registryKey32 = Registry.CurrentUser.OpenSubKey(subkey);
            if (registryKey32 != null)
            {
                Registry.CurrentUser.OpenSubKey(subkey, true).SetValue("EulaAccepted", 1, RegistryValueKind.DWord);
            }
            else
            {
                RegistryKey regKey32 = Registry.CurrentUser.OpenSubKey("Software", true);
                regKey32.CreateSubKey("Sysinternals\\PsExec", RegistryKeyPermissionCheck.ReadWriteSubTree);
                Registry.CurrentUser.OpenSubKey(subkey, true).SetValue("EulaAccepted", 1, RegistryValueKind.DWord);
            }
        }`